정보실

웹학교

정보실

html 웹 접근성

본문

HTML의 접근성 기본 사항 알아보기 


접근성을 염두에 두고 HTML을 디자인하는 것이 중요합니다.


HTML에 액세스 할 수 있다는 것은 장애가 있는 사람들이 웹을 사용할 수 있음을 의미합니다. 완전히 맹인이거나 시각 장애가 있는 사용자, 청력 상실 문제가 있는 사람 및 기타 여러 가지 장애가 있습니다.


불행히도 이 주제는 필요한 중요성을 갖지 않으며 다른 것만큼 멋지지는 않습니다.


한 사람이 내 페이지를 볼 수 없지만 여전히 콘텐츠를 소비하고 싶다면 어떻게 해야 합니까? 

첫째, 그들은 어떻게 합니까? 

마우스를 사용할 수 없고 스크린 리더라고 하는 것을 사용합니다. 당신은 그것을 상상할 필요가 없습니다. 지금 시도해보십시오. 

Google은 무료 ChromeVox Chrome 확장 프로그램을 제공합니다. 

접근성은 도구가 요소를 쉽게 선택하거나 페이지를 탐색 할 수 있도록주의해야합니다.


웹 페이지와 웹 앱은 항상 첫 번째 목표 중 하나로서 접근성을 기반으로 구축되지는 않았으며 버전 1은 공개되지 않았지만 사실 후에 웹 페이지에 액세스 할 수 있게 만들 수 있습니다. 조만간 더 나아지지만 결코 늦지 않았습니다.


중요하며 우리나라에서는 정부 또는 기타 공공 기관에서 제작 한 웹 사이트에 액세스 할 수 있어야 합니다.


HTML에 액세스 할 수 있게 한다는 것은 무엇을 의미합니까? 생각해야 할 주요 사항을 설명하겠습니다.


참고 : 색상, 대비 및 글꼴과 같은 CSS 주제에서 다루어야 할 몇 가지 다른 사항이 있습니다. 또는 SVG 이미지에 액세스 할 수 있는 방법. 나는 그들에 대해 이야기하지 않습니다. 


시맨틱 HTML 사용 


시맨틱 HTML은 매우 중요하며 처리해야 할 주요 요소 중 하나 입니다. 몇 가지 일반적인 시나리오를 설명하겠습니다.


제목 태그에 올바른 구조를 사용해야 합니다. 가장 중요한 것은 h1이며 덜 중요한 것에는 더 높은 숫자를 사용하지만 동일한 수준의 제목은 모두 같은 의미를 가져야 합니다 (트리 구조처럼 생각해야 함).

h1
	h2
		h3
	h2
	h2
		h3
			h4


b와 i 대신 strong과 em을 사용하십시오. 시각적으로 동일하게 보이지만 처음 2 개는 더 관련성이 있습니다. b와 i는 더 시각적인 요소입니다.


목록이 중요합니다. 화면 판독기는 목록을 감지하고 개요를 제공 한 다음 사용자가 목록에 들어가도록 선택할 수 있습니다.


테이블에는 내용을 설명하는 캡션 태그가 있어야 합니다.


<table>
  <caption>Dogs age</caption>
  <tr>
    <th>Dog</th>
    <th>Age</th>
  </tr>
  <tr>
    <td>Roger</td>
    <td>7</td>
  </tr>
</table>


이미지에 대체 속성 사용 


모든 이미지에는 이미지 내용을 설명하는 alt 태그가 있어야 합니다. 이는 좋은 습관일 뿐만 아니라 HTML 표준과 HTML이 요구하지 않는 한 유효하지 않습니다.

<img src="dog.png" alt="picture of my dog">

검색 엔진에 대한 인센티브가 있다면 검색 엔진에도 좋습니다.


role 속성 사용 


role 속성을 사용하면 페이지의 다양한 요소에 특정 역할을 지정할 수 있습니다.


보완, 목록, 목록 항목, 기본, 탐색, 지역, 탭, 경고, 응용 프로그램, 기사, 배너, 버튼, 셀, 확인란, 컨텐츠 정보, 대화 상자, 문서, 피드, 그림, 양식, 그리드, gridcell, 제목, img, 목록 상자, 행, 행 그룹, 검색, 스위치, 테이블, tabpanel, 텍스트 상자, 타이머.


많은 정보를 제공하고 있으며 각 MDN 링크를 제공합니다. 그러나 페이지의 모든 요소에 role을 할당 할 필요는 없습니다. 대부분의 경우 화면 판독기는 HTML 태그에서 유추 할 수 있습니다. 예를 들어 nav, button, form과 같은 의미 태그에 역할 태그를 추가 할 필요가 없습니다.


nav 태그 예제를 살펴 보겠습니다. 이를 사용하여 다음과 같이 페이지 탐색을 정의 할 수 있습니다.


<nav>
  <ul>
    <li><a href="/">Home</a></li>
    <li><a href="/blog">Blog</a></li>
  </ul>
</nav>


nav 대신 div 태그를 사용해야 하는 경우 탐색 role을 사용합니다.

<div role="navigation">
  <ul>
    <li><a href="/">Home</a></li>
    <li><a href="/blog">Blog</a></li>
  </ul>
</div>


여기 실제적인 예가 있습니다 : role이 태그가 이미 의미를 전달하지 않을 때 의미 있는 값을 할당하는 데 사용됩니다.


tabindex 속성 사용 


tabindex 속성을 사용하면 Tab 키를 눌러 "선택 가능"요소를 선택하는 방법의 순서를 변경할 수 있습니다. 기본적으로 링크와 양식 요소 만 Tab 키를 사용하여 탐색하여 "선택 가능"합니다 (그리고 tabindex를 설정할 필요가 없습니다).


tabindex = "0"을 추가하면 요소를 선택할 수 있습니다.


<div tabindex="0">
...
</div>

대신 tabindex = "-1"을 사용하면 이 탭 기반 탐색에서 요소가 제거되므로 매우 유용 할 수 있습니다.


aria 속성 사용 


ARIA는 Accessible Rich Internet Applications를 의미하며 요소에 적용 할 수 있는 의미를 정의하는 약어입니다.


aria-label 


이 속성은 요소를 설명하는 문자열을 추가하는 데 사용됩니다.


예:

<p aria-label="The description of the product">...</p>

자리 표시자 속성이 있기 때문에 명시적인 레이블 없이 검색 할 수 있는 입력 상자가 있는 블로그 사이드 바에서 이 속성을 사용합니다.


aria-labelledby 


이 속성은 현재 요소와 레이블을 지정하는 요소 사이의 상관 관계를 설정합니다.


input 요소를 label 요소에 연결하는 방법을 알고 있다면 비슷합니다.


현재 요소를 설명하는 항목 ID를 전달합니다.


예:

<h3 id="description">The description of the product</h3>

<p aria-labelledby="description">
...
</p>


aria-describedby 


이 속성을 사용하면 요소를 설명 역할을 하는 다른 요소와 연결할 수 있습니다.


예:

<button aria-describedby="payNowDescription" >Pay now</button>

<div id="payNowDescription">Clicking the button will send you to our Stripe form!</div>


aria-hidden을 사용하여 내용 숨기기 


내 사이트에서 최소한의 디자인을 좋아합니다. 예를 들어 내 블로그는 주로 콘텐츠이며 사이드 바에 링크가 있습니다. 그러나 사이드 바의 일부 내용은 페이지를 볼 수 없는 사람의 경험에 추가되지 않는 시각적 요소일 뿐입니다. 내 로고 사진 또는 어둡거나 밝은 테마 선택기와 같습니다.


aria-hidden = "true"속성을 추가하면 화면 판독기에 해당 요소를 무시하도록 지시합니다.


더 배울 곳 


이것은 주제에 대한 소개일 뿐입니다. 자세한 내용은 다음 리소스를 권장합니다.



원본 : https://flaviocopes.com/accessibility/













  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

페이지 정보

조회 5회 ]  작성일19-09-12 15:32

웹학교