DEV Community

Discussion on: Focus-visible: The Unsung Hero

Collapse
 
link2twenty profile image
Andrew Bone

A pattern I've been using a lot recently is use a couple of @supports to use the default focus in IE and fallback to :focus in browsers where :focus-visible is not supported.

@supports not (-ms-high-contrast: none) {
  button:focus {
    outline: none;
    box-shadow: inset 0 0 0 1px black,
      inset 0 0 0 3px white,
      inset 0 0 0 4px black;
  }
}

@supports selector(:focus-visible) {
  button:focus:not(:focus-visible) {
    box-shadow: initial;
  }
}
Enter fullscreen mode Exit fullscreen mode

Collapse
 
drewclem profile image
Drew Clements

I love this. Adding it to the toolbelt!