MAS 2.4.7 Focus Visible - failing examples
2.4.7 Focus Visible MAS bug count: 21
Tab widget
Apples
This tab widget requires explicit activation of a tab to render its associated tabpanel.
Here's a link just to test keyboard tabbing.
(it's odd talking about tabs, and tabs.)
Bananas
This is an example of a heading being used to populate the
tab's label, while also not removing heading
from the tabpanel. This is done by adding
the value "keep" to data-atabs-heading.
Oranges
There are two headings here
The tab is getting its label from the
data-atabs-tab-label. The heading is
kept in the tabpanel because it does
not have the data-atabs-heading
attribute.
It wouldn't make much sense
If the contents of a tabpanel contain
additional sub headings, it wouldn't make sense to remove
the initial heading from the tabpanel.
Doing so would create a gap in the heading structure.
Expected Result:
Failure count for this test case: 7
axe-core findings for this test case: 0
Failure: The tabs within the tablist can receive keyboard focus by the tab key, and arrow keys are used to navigate between each tab. Focus is not visible on the tab (the outline and box-shadow properties have been set to none), and since each tab requires manual activation, the tabpanel content also does not change to help indicate which item might be focused.
focus is additionally not visible on the tabpanel which receives focus after navigating away from the tablist, and focus is not visible on a hyperlink within one of the tab panels.
Readonly textarea
Expected Result:
Failure count for this test case: 1
axe-core findings for this test case: 0
Failure: the UA focus outline has been set to none and no replacement has been provided. Since the textarea is readonly, there is no text cursor displayed either when focused, resulting in no focus indicator for the element.
Custom ARIA button
Expected Result:
Failure count for this test case: 1
axe-core findings for this test case: 0
Failure: the UA outline has been overridden and instead set to none. There is no focus indicator for the custom ARIA button.
Legacy select element
Expected Result:
Failure count for this test case: 1
axe-core findings for this test case: 0
Failure: the select element has had its UA outline overridden and instead set to none.
Legacy select elements do not allow for styling of the option elements. So, here the test fails only for lacking a visible focus indicator for the collapsed select "button" part. If this select were to have its listbox popup invoked, the options do pass focus visible.
Native disclosure widget
My disclosure
content to show/hideExpected Result:
Failure count for this test case: 1
axe-core findings for this test case: 0
Failure: the summary element has had its UA outline overridden and instead set to none.
Test case title
Expected Result:
Failure count for this test case: 1
axe-core findings for this test case: 0
Failure: not all browsers allow for direct focus of the iframe element. But for those that do, such as Firefox, this example will lack a focus indicator as the iframe element has had its UA outline overridden and instead set to none.
Native radio group
Expected Result:
Failure count for this test case: 1
axe-core findings for this test case: 0
Failure: the default UA outline for the radio buttons hve been overriden and instead set to none. This test fails so long as a radio button in the set remains unchecked. It then can semi-pass for arrow key navigation, since the checked state will follow focus. Though it will still fail for an initial visible focus indicator not being present, and thus one not knowing whether the checked element has received focus or not.
checkbox
Expected Result:
Failure count for this test case: 1
axe-core findings for this test case: 0
Failure due to lack of visible focus indicator. Outline has been set to 'none'.
General hyperlink
Expected Result:
Failure count for this test case: 1
axe-core findings for this test case: 0
Failure: the hyperlink has had its UA outline overridden and instead set to none.
button represented by icon
Expected Result:
Failure count for this test case: 1
axe-core findings for this test case: 0
Failure: the button element has had its UA outline overridden and instead set to none.
Area of a map element
Expected Result:
Failure count for this test case: 1
Failure: the default UA outline for the area[href] element has been overridden and instead set to none.
Note: this example 'passes' in Firefox because that browser has a UA focus indicator that cannot be suppressed by typical CSS like outline: none or opacity: 0 alone
Visually hidden hyperlink
Expected Result:
Failure count for this test case: 1
axe-core findings for this test case: 0
Failure: the visually hidden hyperlink does not become visible when focused. If an element receives focus, it must be made visible and have a visible focus indicator.
Customized Select element (chromium browsers only)
Expected Result:
Failure count for this test case: 3
axe-core findings for this test case: 0
Failure: all focus outlines have been overridden and set to none.
A customizable select element allows for all aspects of it to be styled by web authors, even the option elements.