From 64251a12a4d30f1b61cbbbf17ef603a0d083e60b Mon Sep 17 00:00:00 2001 From: "Patrick H. Lauke" Date: Tue, 10 May 2016 10:29:47 +0100 Subject: [PATCH] Make named anchor/placeholder link style reset more specific This avoids applying the reset to named anchors/placeholder links (links without an `href`) that have explicitly been made keyboard-focusable (using `tabindex`). This is not fool-proof - it's not easy/straightforward to check for the actual `tabindex` value itself, to ensure it's positive, not will this apply if a link has been "blessed" with `tabindex` via JS. However, this should catch most common uses (and gives a reasonably valid way around the issue for developers who, for whatever reason, DO want to use links without `href` - as side effect, it forces best practice of at least ensuring these links can also be focused with the keyboard) --- scss/_reboot.scss | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scss/_reboot.scss b/scss/_reboot.scss index f2876d1c67..84daa09b36 100644 --- a/scss/_reboot.scss +++ b/scss/_reboot.scss @@ -171,12 +171,13 @@ a { } } -// And undo these styles for placeholder links/named anchors (without href). +// And undo these styles for placeholder links/named anchors (without href) +// which have not been made explicitly keyboard-focusable (without tabindex). // It would be more straightforward to just use a[href] in previous block, but that // causes specificity issues in many other styles that are too complex to fix. // See https://github.com/twbs/bootstrap/issues/19402 -a:not([href]) { +a:not([href]):not([tabindex]) { color: inherit; text-decoration: none;