A11y 팁: 초점 표시기를 제거하지 마십시오.
outline: 0
를 사용하여 요소에 초점을 맞추는 효과를 제거합니다. 이것은 처음에 테두리를 클릭/터치할 때 테두리가 둘러싸는 것을 방지하므로 키보드를 사용하여 탐색하는 사용자에게는 포커스가 있는 요소에 대한 시각적 표시기가 없습니다. 그리고 우리는 그것을 압니다every interactive element needs a focus indicator.따라서 다음 솔루션 중 일부를 사용하여 이 문제를 해결하는 것이 좋습니다.
1. 스타일 개요 속성
CSS를 사용하여 윤곽선에 원하는 효과를 부여합니다. 예를 들면 다음과 같습니다.
button:focus {
outline: 4px dashed black;
}
2. 스타일 요소 자체
윤곽선을 제거하되 가장 적합한 CSS 속성을 사용하여 초점이 맞춰진 요소에 대한 다른 스타일을 디자인하십시오:
border
, background-color
, text-decoration
, color
... 이 옵션을 선택하는 경우 not to use the color 초점에 대한 정보를 제공하는 유일한 요소로 주의하십시오. 정상 상태와 초점 상태를 구분하지 못하는 색맹인 사람이 있을 수 있기 때문입니다.button:focus {
outline: none;
/* any accessible style you want here */
}
3. 마우스 사용자 전용 외곽선 제거
마우스 사용자가 대화형 요소를 클릭/터치할 때 문제가 발생하므로 이러한 사용자에 대해서만 윤곽선을 제거하는 것이 가장 좋습니다. 운 좋게도 우리는 다음과 같이 할 수 있는 잘 지원되는 CSS 의사 클래스를 가지고 있습니다:
:focus-within
.good browser support을 사용하면 이제 what과 같은 작업을 수행할 수 있습니다.
button:focus:not(:focus-visible) {
outline:none;
}
이렇게 하면 요소를 클릭/터치하는 사용자의 외곽선만 제거하고 키보드 탐색에 동일한 의사 클래스를 사용하여 스타일을 완성할 수 있습니다.
button:focus-visible {
outline: 4px dashed black;
}
Chris Coyier 및 Patrick H. Lauke 이 주제에 대한 아주 좋은 기사가 있습니다.
Reference
이 문제에 관하여(A11y 팁: 초점 표시기를 제거하지 마십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/carlosespada/a11y-tips-dont-remove-focus-indicator-1lpe텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)