작업 일지/웹접근성
웹 접근성 키보드 포커스 처리
AI랑노는 또또
2024. 3. 5. 11:31
디자이너분의 요청으로 포커스 라인을 제거를 하는 경우가 있습니다.
이렇게
a, input, button {
outline: 0;
}
:focus {
outline: none;
}
이런 경우 브라우저 상에는 라인이 노출 되지 않게 됩니다.
시각장애인 등 키보드만 이용해 웹사이트를 이용 할 경우 키보드 요소를 노출 시켜 주어야 합니다.
크롬에 추가된 :focuis-visible이란 가상 클래스(pseudo class)를 통해 이를 디자인을 해치지 않고 구현할 수 있습니다.
/* 키보드로 버튼에 포커스 시 */
button:focus-visible {
outline: 3px solid #000;
}
/* 마우스, 터치로 버튼에 포커스 시 */
button:focus:not(:focus-visible) {
outline: none;
box-shadow: 1px 1px 5px rgba(1, 1, 0, .7);
}