안녕하세요, :focus-visible!
:focus
선택기의 스타일도 볼 수 없습니다.지난 몇 년 동안 접근성은 느리지만 확실하게 커뮤니티에서 돌파구를 얻었고 포커스 상태에 대한 스타일이 적절하게 성장했습니다.
지난 주말에 Chromium의 새로운 릴리스가 출시되었습니다. 즉, Chrome, Edge 및 버전 86의 다른 모든 Chromium 기반 브라우저가 이제
:focus-visible
를 지원합니다. 2011년 Firefox가 도입된 이후-moz-focusring
처음으로 접근 가능한 포커스 스타일 지정에 대한 실질적인 발전이 있었기 때문에 이것은 대단한 일입니다!차이점
:focus
스타일은 다소 간단합니다. 키보드 액세스의 현재 활성 대상인 경우 요소에 포커스 표시를 표시합니다. 문제는 마우스나 손가락으로 요소를 클릭할 때 요소에 초점 표시를 표시하는 것이 종종 바람직하지 않다는 것입니다. 그러나 포커스 표시를 완전히 제거하면 어떤 요소가 활성 요소인지 모르기 때문에 키보드와 함께 앱을 사용하기가 매우 어려워집니다.:focus-visible
는 :focus
와 비슷하지만 브라우저 휴리스틱이 사용자가 키보드를 사용하고 있음을 감지한 경우에만 스타일이 활성화되므로 포커스 표시기가 표시되어야 합니다. 이제 요소를 클릭할 때 볼 필요 없이 매우 눈에 잘 띄는 스타일로 포커스 표시기를 가질 수 있기 때문에 매우 좋습니다!약하고 강하다
내 제안은 지금부터 기본적으로
:focus
스타일로도 초점 표시가 있어야 하지만 :focus-visible
와 함께 사용할 것보다 덜 강력할 수 있다는 것입니다. 적절한 대체를 사용하면 :focus
에 대한 규칙은 :focus-visible
를 지원하지 않는 브라우저에만 사용되므로 사람들이 최신 브라우저로 이동할 때 단순히 요소를 탭하거나 클릭할 때 포커스 표시가 표시되지 않습니다.구현
@supports
를 사용할 수 없으므로 브라우저가 CSS를 이해하지 못하는 경우 CSS가 무시되는 기존 재정의를 사용해야 합니다./* you don't need to use CSS variables if you don't like */
:root {
--focus-color: Highlight;
--focus-color: -webkit-focus-ring-color;
}
/* apply weak focus indication */
a:focus {
outline: thin dotted var(--focus-color);
outline-offset: 1px;
}
/* disable weak focus in browsers which support focus-visible */
a:not(:-moz-focusring) { outline: none; }
a:not(:focus-visible) { outline: none; }
/* apply strong focus indication */
a:-moz-focusring {
outline: medium solid var(--focus-color);
outline-offset: 2px;
-moz-outline-radius: 6px;
}
a:focus-visible {
outline: medium solid var(--focus-color);
outline-offset: 2px;
}
지원하지 않는 브라우저
:focus-visible
에서는 요소에 포커스가 있을 때마다 점선 1픽셀 윤곽선이 표시되는 반면 지원하는 브라우저에서는 키보드 액세스를 통해서만 매우 눈에 띄는 포커스 표시가 표시됩니다.결론
지금이
:focus-visible
로 마이그레이션을 시작할 때입니다! 프로젝트에 가장 적합한 일정에 따라 JavaScript 기반 구현 제거 계획을 시작할 수 있습니다.이제 Chromium만 있으면 support rounded corners on outline ... Firefox는 비표준 공급업체 접두사를 통해서도 매우 오랫동안 수행해 왔고 수행해 왔습니다. 그러나 그것은 그것을 지원합니다. box-shadow를 사용하여 둥근 초점 링을 만드는 것은 해킹입니다.
Reference
이 문제에 관하여(안녕하세요, :focus-visible!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/merri/hello-focus-visible-1j6o텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)