본문 바로가기

웹언어/HTML5

[HTML5강좌] 19강 tabindex태그속성 - 오쌤의 니가스터디

728x90
반응형

 

 

 

 

 

 

 

 

 

 

 

** 영상으로 보고 싶은 분은 아래 주소를 클릭해주세요.

https://youtu.be/o3DeYfWQMUY

 

 

 

 

 

 

 

 

 

 

 

1. 초점이동이란?

- 키보드 접근성이란 스크린 리더 사용자가 키보드를 통해 웹 페이지의 정보에 접근하는 것을 의미한다.

- 특히, 초점이동이란 [tab]키를 누르면 좌측상단부터 초점받는 요소로 부터 이동되고, [shift] + [tab]키를 누르면 반대로 올라가는 것을 의미한다.

 

 

 

 

 

1) 네이버 사이트의 초점이동

- 위에 보면 까만 테두리가 초점의 이동을 보여줍니다. 과거에는 파란색으로 크롬에 체크해줬으나 요즘은 저런 검은색 테두리로 처리합니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2) 기본적으로 초점을 받는 태그

- HTML태그가 기본적으로 초점을 받는 것들이 있습니다. 

- 그 태그들을 알아보도록 하겠습니다.

 

태그명 설명
a 클릭 시 페이지를 이동시켜주는 링크태그
button 버튼태그
input 사용자가 값을 입력할 수 있는 입력요소들 태그
select 여러 옵션의 값 중 한개를 선택하는 태그(multiple속성사용시 여러개도 선택가능)
textarea 여러 줄 입력상자

 

 

## 초점이동 코드

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>초점이동 테스트</title>
    </head>
    <body>
        <a href="#">링크태그</a>
        <h3>제목태그</h3>
        <button>버튼태그</button>
        <input type="text">
        <p>문단태그</p>
        <select>
            <option>옵션1</option>
            <option>옵션2</option>
        </select>
        <textarea cols="30" rows="5"></textarea>
    </body>
</html>

 

 

## 초점이동 결과

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. tabindex속성

- 요소의 탭순서를 지정하는 속성입니다. 

 

 

 

 

1) tabindex 속성값

속성값 설명
양수 1부터의 숫자를 적어 탭의 순서를 지정합니다. 
1이 제일 먼저 탭순서를 받습니다. 그다음 번호들은 순번대로 처리됩니다.
탭순서를 지정하게 되면 탭의 흐름이 엉킬 수 있으므로 사용하지 않는 것이 좋을 듯 합니다. 
0 초점을 받을 수 없는 h1, div 등과 같은 요소들도 탭으로 초점을 받을 수 있도록 처리됩니다.
마크업 순서대로 탭순서를 자연스럽게 받게 처리됩니다.
-1 a, button, input, select, textarea와 같은 태그가 탭을 못받도록 처리합니다. 
다른 음수를 작성해도 무방하지만 탭으로 초점을 못받는다는 것은 같으므로, 의미가 없습니다. 

 

 

 

## 탭순서 코드 변경

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>초점이동 테스트</title>
    </head>
    <body>
        <a href="#" tabindex="-1">링크태그</a>
        <h3 tabindex="0">제목태그</h3>
        <button tabindex="-1">버튼태그</button>
        <input type="text" tabindex="-1">
        <p tabindex="0">문단태그</p>
        <select tabindex="-1">
            <option>옵션1</option>
            <option>옵션2</option>
        </select>
        <textarea cols="30" rows="5" tabindex="-1"></textarea>
    </body>
</html>

- 원래 초점을 받는 a, button, input, select, textarea태그에는 [tabindex=-1]로 처리했습니다.

- h3과 p태그는 [tabindex=0]으로 처리했습니다.

 

 

 

## 탭순서 변경 결과

- a, button, input, select, textarea태그에는 초점이 가지 않고, h3과 p태그에 초점이 잘 가는 것 보이시죠? 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형