It seeems new browsers use a rather different focus ring style by
default from how it used to be. This means the focus rings in the
clicky table headers (which are made by CSS rules) don't look anything
like the focus rings on links.
To try and fix this, let's explicitly style all the focus rings to
be more like how they look by default in new browsers.
/*!
* Nick's web site: default stylesheet
*
/*!
* Nick's web site: default stylesheet
*
- * Copyright © 2018-2021 Nick Bowler
+ * Copyright © 2018-2022 Nick Bowler
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
$tableshadecolour: #f5f5f5;
$tableshadecolour: #f5f5f5;
+$focusringcolour: #628cb2;
+
@mixin header_size($maxwidth, $fontsize) {
font-size: $fontsize;
max-width: 1em * ($maxwidth / $fontsize);
@mixin header_size($maxwidth, $fontsize) {
font-size: $fontsize;
max-width: 1em * ($maxwidth / $fontsize);
a:visited { color: $linkvisitedcolour; border-color: $linkvisitedcolour; }
a:active { color: $linkactivecolour; border-color: $linkactivecolour; }
a:visited { color: $linkvisitedcolour; border-color: $linkvisitedcolour; }
a:active { color: $linkactivecolour; border-color: $linkactivecolour; }
+@supports (outline-style: auto) {
+ a:link { border-width: 0; }
+ a:focus { outline: auto $focusringcolour; }
+ li, td, dt { &>a:link { border: solid 1px transparent; } }
+}
+
h1 { @include header_size(60em, 2em); }
h2 { @include header_size(60em, 1.5em); }
h5 { @include header_size(60em, 1em); }
h1 { @include header_size(60em, 2em); }
h2 { @include header_size(60em, 1.5em); }
h5 { @include header_size(60em, 1em); }
- &:focus ~ table th.clicky-#{$col}>label~label>span:first-child {
- border-color: $foregroundcolour;
- }
-
// Unhide to allow keyboard navigation
display: block !important;
pointer-events: none;
// Unhide to allow keyboard navigation
display: block !important;
pointer-events: none;
- &:focus ~ table th.clicky-#{$col}>label~label .svg {
- border-color: $foregroundcolour;
- }
-
pointer-events: none;
position: absolute;
opacity: 0;
z-index: -2;
}
pointer-events: none;
position: absolute;
opacity: 0;
z-index: -2;
}
+
+ $focuslabel: ":focus ~ table th.clicky-#{$col}>label~label";
+ #{"input.clicky-#{$col+$focuslabel}"}>span:first-child
+ , #{"input.clicky-#{$col}-rev#{$focuslabel}"} .svg
+ {
+ border-color: $foregroundcolour;
+ @at-root { @supports (outline-style: auto) { & {
+ border-color: transparent;
+ outline: auto $focusringcolour;
+ }}}
+ }
&:active { color: $linkactivecolour; }
&:first-child:active>span, &~label:active>.svg {
border-color: $linkactivecolour;
&:active { color: $linkactivecolour; }
&:first-child:active>span, &~label:active>.svg {
border-color: $linkactivecolour;
+ @at-root { @supports (outline-style: auto) { & {
+ border-color: transparent;
+ outline: auto $focusringcolour;
+ }}}