Posts 웹 접근성(이해의 용이성) Post Cancel

웹 접근성(이해의 용이성)

이해의 용이성

콘텐츠는 이해할 수 있어야 한다.


3.1.1 기본 언어 표시

주로 사용하는 언어를 명시해야 한다.

<html lang=”ko”>

HTML5


3.2.1 사용자 요구에 따른 실행

사용자가 의도하지 않은 기능 (새 창, 초점 변화 등)은 실행되지 않아야 한다.

1) 페이지 진입시 뜨는 새 창(팝업)

페이지 진입시 새 창이 뜰 경우, 사용자는 본 창을 탐색하고 있는지
새 창을 탐색하고 있는 건지 구분하기 어렵다.


2) 사전에 인식할 수 없는 새 창

<a href="#" onclick="open():">페이지</a>

스크립트로 처리시 새 창인지 인지할 수 없다.

<a href="test.html"> 페이지<span class="blind">새 창</span></a>
<a href="test.html" title="새 창">페이지</a>
<a href="test.html" target="_blank">페이지</a>

위와 같이 새 창인지 인지할 수 있도록 정보를 제공해야한다.


3.3.1 콘텐츠의 선형화

콘텐츠는 논리적인 순서로 제공해야 한다.

제목 > 내용 순으로 이어져야한다.

잘못된 소스
<ul>
  <li><button>탭 제목1</button></li>
  <li><button>탭 제목2</button></li>
  <li><button>탭 제목3</button></li>
</ul>
<div>
  탭 내용 1
</div>
<div>
  탭 내용 2
</div>
<div>
  탭 내용 3
</div>
잘된 소스

<ul>
  <li>
    <button>탭 제목1</button>
    <div>
      탭 내용 1
    </div>
  </li>
  <li>
    <button>탭 제목1</button>
    <div>
      탭 내용 2
    </div>
  </li>
  <li>
    <button>탭 제목1</button>
    <div>
      탭 내용 3
    </div>
  </li>
</ul>

제목 > 내용 > 더보기 순으로 마크업 되어야한다.

잘못된 소스
<h3>녹색친구들 이야기</h3>
<a href="...">더보기</a>

<ul>
  <li><button>내용</button></li>
  <li><button>내용</button></li>
  <li><button>내용</button></li>
</ul>
잘된 소스
<h3>녹색친구들 이야기</h3>

<ul>
  <li><button>내용</button></li>
  <li><button>내용</button></li>
  <li><button>내용</button></li>
</ul>

<a href="...">더보기</a>


3.3.2 표의 구성

표는 이해하기 쉽게 구성해야 한다.

복잡하지 않는 간단한 표로 제공해야하며,
요약을 설명하는 caption태그와 어느 순서로 읽는지 알려주는 th의 scope속성을 제공해야한다.

잘못된 소스
<table>
  <tr>
    <th>T-shirt</th>
    <th>Jacket</th>
    <th>Sweatshirt</th>
    <th>Pants</th>
    <th>Shorts</th>
  </tr>
  <tr>
    <td>Size</td>
    <td>S</td>
    <td>M</td>
    <td>L</td>
    <td>XL</td>
  </tr>
  ...
</table>
잘된 소스
<table>
  <caption>Size Guide</caption>
  <thead>
    <tr>
      <th scope="col">T-shirt</th>
      <th scope="col">Jacket</th>
      <th scope="col">Sweatshirt</th>
      <th scope="col">Pants</th>
      <th scope="col">Shorts</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th scope="row">Size</td>
      <td>S</td>
      <td>M</td>
      <td>L</td>
      <td>XL</td>
    </tr>
  </tbody>
  ...
</table>
  • 표가 아닌 디자인을 위해서 콘텐츠를 테이블로 마크업해서는 안된다.


3.4.1 레이블 제공

사용자 입력에는 대응하는 레이블을 제공해야 한다.

잘못된 소스
<input type="text" placeholder="이메일 아이디를 입력해주세요.">

레이블 미제공

잘된 소스
<label for="email_id">이메일 아이디</label>
<input type="text" id="email_id" placeholder="이메일 아이디를 입력해주세요.">

or

<input type="text" placeholder="이메일 아이디를 입력해주세요." title="이메일 아이디">


3.4.2 오류 정정

입력 오류를 정정할 수 있는 방법을 제공해야 한다.

  • 입력 오류 시 입력 내용이 모두 사라지면 안된다.
  • 오류의 원인을 알 수 있도록 제공한다.
  • 오류가 발생된 입력란으로 초점이 이동되어야한다.

초점 이동과 오류의 원인을 제공한 스크린샷



참고 했던 자료 및 블로그

This post is licensed under CC BY 4.0 by the author.
Contents