Important: This website does not attempt to establish a standard for how assistive technologies must behave. Read the FAQ for more information. Additionally, this is a work in progress. Please submit feedback or suggestions.

Test: HTML button name change test

Screen Reader support level: unknown

Voice Control support level: unknown

On this page

About this test

This test contains a set of basic html buttons that changes their names after activation to convey a change in state. Examples include show/hide buttons and a toggle-like button (play/pause). Automatically conveying name changes after user action is important because a screen reader user expects to hear a result. If they hear silence instead, they may be left wondering if their action worked or not.

There is some support for this behavior in web standards, however it is not robust. The name of an element is considered a property (not a state), and is thus less likely to change than a state. As such, screen readers are less likely to convey property changes than state changes. Core-AAM provides mappings for property change events including name changes via aria-label and aria-labelledby. However, HTML does not have an equivalent mapping for inner-text changes; see HTML-AMM #291.

Because of the poor support and weak standards for automatically conveying name changes, it is usually better to use attributes to convey state changes (think aria-expanded). However, in some cases, it may be desirable or even necessary to change the name. If this is the case, consider other techniques to ensure that the new name is conveyed, such as using aria-live or sending keyboard focus to a hidden div and then back after a slight delay.

Submit new test results

Age of results

Results in this test range from 3 years ago to 4 years ago. See detailed information about test dates and versions for more information.

Caution

Failing or partial results may be out of date. The oldest result is from 4 years ago. Consider running this test and contributing results.

Test HTML

Open the test case HTML file

HTML source is too long to display here.

Summary of Screen Reader support by expectation

aria-label attribute
ExpectationJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
SHOULD convey name changes when in focus applied to: button elementnonenonenonesupportedsupportedsupportedsupportednonenonesupportedpartial
aria-labelledby attribute
ExpectationJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
SHOULD convey name changes when in focus applied to: button element; references: button elementnonenonenonesupportedsupportedsupportednonenonenonesupportedpartial
button element
ExpectationJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
MAY convey inner-text name changes when in focusnonenonenonesupportednonenonenonenonenonesupportedpartial

* means that some support is hidden behind settings

Summary of Voice Control support by expectation

aria-label attribute
ExpectationDragon Naturally SpeakingVoice Access (Android)Voice Control (iOS)Voice Control (MacOS)Windows Speech RecognitionWindows Voice Access
ChromeChromeSafariSafariEdgeChromeEdgeChrome
Not applicable
aria-labelledby attribute
ExpectationDragon Naturally SpeakingVoice Access (Android)Voice Control (iOS)Voice Control (MacOS)Windows Speech RecognitionWindows Voice Access
ChromeChromeSafariSafariEdgeChromeEdgeChrome
Not applicable
button element
ExpectationDragon Naturally SpeakingVoice Access (Android)Voice Control (iOS)Voice Control (MacOS)Windows Speech RecognitionWindows Voice Access
ChromeChromeSafariSafariEdgeChromeEdgeChrome
Not applicable

* means that some support is hidden behind settings

Summary of Keyboard support by expectation

aria-label attribute
ExpectationWindows KeyboardMac KeyboardiOS KeyboardAndroid Keyboard
ChromeFirefoxEdgeChromeSafariSafariChrome
Not applicable
aria-labelledby attribute
ExpectationWindows KeyboardMac KeyboardiOS KeyboardAndroid Keyboard
ChromeFirefoxEdgeChromeSafariSafariChrome
Not applicable
button element
ExpectationWindows KeyboardMac KeyboardiOS KeyboardAndroid Keyboard
ChromeFirefoxEdgeChromeSafariSafariChrome
Not applicable

* means that some support is hidden behind settings

Detailed support results by expectation

Expectation for the aria-label attribute: convey name changes when in focus - applied to the button element

This expectation is applied to the button element. Expectations and results might differ when the the feature is applied to different roles.

This expectation is from the aria-label attribute feature.

Rationale:

The user needs to know that that the name of a control has changed after interacting with it. This may be to convey a new purpose or to convey a state change which is provided by the name.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: SHOULD
  • Voice Control: NA

Grading method:

All of the listed commands must pass for the expectation to pass.

Notes:

This expectation is only for when the element with the attribute is focused by a screen reader (either keyboard focus or virtual focus). It is not meant to act like a live region.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromenone
  • Result: (fail)
    • Test Case: Use Enter or Space (Activate Button) on the target of `#example-2-target`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-2-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (name change not conveyed)
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
JAWSEdgenone
  • Result: (fail)
    • Test Case: Use Enter or Space (Activate Button) on the target of `#example-2-target`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-2-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (name change not conveyed)
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
JAWSFirefoxnone
  • Result: (fail)
    • Test Case: Use Enter or Space (Activate Button) on the target of `#example-2-target`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-2-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (name change not conveyed)
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Enter or Space Bar (Activate Item (primary action)) on the target of `#example-2-target`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-2-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space Bar (Activate Item (primary action))
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "hide, button"
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use Enter or Space (Activate Button) on the target of `#example-2-target`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-2-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "hide"
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use Enter or Space (Activate Button) on the target of `#example-2-target`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-2-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "hide"
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use Enter or Space (Activate Button) on the target of `#example-2-target`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-2-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "hide"
OrcaFirefoxnone
  • Result: (fail)
    • Test Case: Use Enter or Space (Activate Button) on the target of `#example-2-target`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-2-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (name change not conveyed)
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
TalkBackChromenone
  • Result: (fail)
    • Test Case: Use double tap (or alt+enter) (Activate button) on the target of `#example-2-target`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-2-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: double tap (or alt+enter) (Activate button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (name change not conveyed)
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Double tap (Activate Button) on the target of `#example-2-target`
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-2-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Double tap (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "hide"
VoiceOver (macOS)Safaripartial
  • Result: (pass)
    • Test Case: Use VO + space (Activate Button) on the target of `#example-2-target`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-2-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "press, hide button"
  • Result: (fail)
    • Test Case: Use enter (Activate control (enter)) on the target of `#example-2-target`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-2-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: enter (Activate control (enter))
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (name change not conveyed)
Windows Speech RecognitionEdgenot applicable-
Windows Speech RecognitionChromenot applicable-
Windows Voice AccessEdgenot applicable-
Windows Voice AccessChromenot applicable-
Windows KeyboardChromenot applicable-
Windows KeyboardFirefoxnot applicable-
Windows KeyboardEdgenot applicable-
Mac KeyboardChromenot applicable-
Mac KeyboardSafarinot applicable-
iOS KeyboardSafarinot applicable-
Android KeyboardChromenot applicable-

Extended Support for: aria-label attribute: convey name changes when in focus

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2020.2006.12IE 11none
  • Result: (fail)
    • Test Case: Use Enter or Space (Activate Button) on the target of `#example-2-target`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-2-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (name change not conveyed)
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxnot applicable-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromenot applicable-
Voice Control (MacOS)Firefoxnot applicable-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Expectation for the aria-labelledby attribute: convey name changes when in focus - applied to the button element - references the button element

This expectation is applied to the button element. Expectations and results might differ when the the feature is applied to different roles.

This expectation references the button element. Expectations and results might differ when the the feature references different roles.

This expectation is from the aria-labelledby attribute feature.

Rationale:

The user needs to know that that the name of a control has changed after interacting with it. This may be to convey a new purpose or to convey a state change which is provided by the name.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: SHOULD
  • Voice Control: NA

Grading method:

All of the listed commands must pass for the expectation to pass.

Notes:

This expectation is only for when the element with the attribute is focused by a screen reader (either keyboard focus or virtual focus). It is not meant to act like a live region.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromenone
  • Result: (fail)
    • Test Case: Use Enter or Space (Activate Button) on the target of `#example-3-target`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-3-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (name change not conveyed)
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
JAWSEdgenone
  • Result: (fail)
    • Test Case: Use Enter or Space (Activate Button) on the target of `#example-3-target`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-3-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (name change not conveyed)
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
JAWSFirefoxnone
  • Result: (fail)
    • Test Case: Use Enter or Space (Activate Button) on the target of `#example-3-target`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-3-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (name change not conveyed)
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Enter or Space Bar (Activate Item (primary action)) on the target of `#example-3-target`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-3-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space Bar (Activate Item (primary action))
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "hide, button"
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use Enter or Space (Activate Button) on the target of `#example-3-target`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-3-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "hide"
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use Enter or Space (Activate Button) on the target of `#example-3-target`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-3-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "hide"
NVDAFirefoxnone
  • Result: (fail)
    • Test Case: Use Enter or Space (Activate Button) on the target of `#example-3-target`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-3-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (name change not conveyed)
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
OrcaFirefoxnone
  • Result: (fail)
    • Test Case: Use Enter or Space (Activate Button) on the target of `#example-3-target`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-3-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (name change not conveyed)
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
TalkBackChromenone
  • Result: (fail)
    • Test Case: Use double tap (or alt+enter) (Activate button) on the target of `#example-3-target`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-3-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: double tap (or alt+enter) (Activate button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (name change not conveyed)
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Double tap (Activate Button) on the target of `#example-3-target`
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-3-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Double tap (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "hide"
VoiceOver (macOS)Safaripartial
  • Result: (pass)
    • Test Case: Use VO + space (Activate Button) on the target of `#example-3-target`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-3-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "press, hide button"
  • Result: (fail)
    • Test Case: Use enter (Activate control (enter)) on the target of `#example-3-target`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-3-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: enter (Activate control (enter))
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (name change not conveyed)
Windows Speech RecognitionEdgenot applicable-
Windows Speech RecognitionChromenot applicable-
Windows Voice AccessEdgenot applicable-
Windows Voice AccessChromenot applicable-
Windows KeyboardChromenot applicable-
Windows KeyboardFirefoxnot applicable-
Windows KeyboardEdgenot applicable-
Mac KeyboardChromenot applicable-
Mac KeyboardSafarinot applicable-
iOS KeyboardSafarinot applicable-
Android KeyboardChromenot applicable-

Extended Support for: aria-labelledby attribute: convey name changes when in focus

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2020.2006.12IE 11yes
  • Result: (pass)
    • Test Case: Use Enter or Space (Activate Button) on the target of `#example-3-target`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-3-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "hide button"
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxnot applicable-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromenot applicable-
Voice Control (MacOS)Firefoxnot applicable-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Expectation for the button element: convey inner-text name changes when in focus

This expectation is from the button element feature.

Rationale:

The user needs to know that that the name of a control has changed after interacting with it. This may be to convey a new purpose or to convey a state change which is provided by the name.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MAY
  • Voice Control: NA

Grading method:

All of the listed commands must pass for the expectation to pass.

Notes:

This expectation is only for when the button is focused by a screen reader (either keyboard focus or virtual focus). It is not meant to act like a live region.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromenone
  • Result: (fail)
    • Test Case: Use Enter or Space (Activate Button) on the target of `#example-1-target`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-1-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (name change not conveyed)
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
JAWSEdgenone
  • Result: (fail)
    • Test Case: Use Enter or Space (Activate Button) on the target of `#example-1-target`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-1-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (name change not conveyed)
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
JAWSFirefoxnone
  • Result: (fail)
    • Test Case: Use Enter or Space (Activate Button) on the target of `#example-1-target`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-1-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (name change not conveyed)
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Enter or Space Bar (Activate Item (primary action)) on the target of `#example-1-target`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-1-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space Bar (Activate Item (primary action))
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "hide, button"
NVDAChromenone
  • Result: (fail)
    • Test Case: Use Enter or Space (Activate Button) on the target of `#example-1-target`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-1-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (name change not conveyed)
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
NVDAEdgenone
  • Result: (fail)
    • Test Case: Use Enter or Space (Activate Button) on the target of `#example-1-target`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-1-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (name change not conveyed)
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
NVDAFirefoxnone
  • Result: (fail)
    • Test Case: Use Enter or Space (Activate Button) on the target of `#example-1-target`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-1-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (name change not conveyed)
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
OrcaFirefoxnone
  • Result: (fail)
    • Test Case: Use Enter or Space (Activate Button) on the target of `#example-1-target`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-1-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (name change not conveyed)
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
TalkBackChromenone
  • Result: (fail)
    • Test Case: Use double tap (or alt+enter) (Activate button) on the target of `#example-1-target`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-1-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: double tap (or alt+enter) (Activate button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (name change not conveyed)
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Double tap (Activate Button) on the target of `#example-1-target`
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-1-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Double tap (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "hide"
VoiceOver (macOS)Safaripartial
  • Result: (pass)
    • Test Case: Use VO + space (Activate Button) on the target of `#example-1-target`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-1-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "press, hide button"
  • Result: (fail)
    • Test Case: Use enter (Activate control (enter)) on the target of `#example-1-target`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-1-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: enter (Activate control (enter))
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (name change not conveyed)
Windows Speech RecognitionEdgenot applicable-
Windows Speech RecognitionChromenot applicable-
Windows Voice AccessEdgenot applicable-
Windows Voice AccessChromenot applicable-
Windows KeyboardChromenot applicable-
Windows KeyboardFirefoxnot applicable-
Windows KeyboardEdgenot applicable-
Mac KeyboardChromenot applicable-
Mac KeyboardSafarinot applicable-
iOS KeyboardSafarinot applicable-
Android KeyboardChromenot applicable-

Extended Support for: button element: convey inner-text name changes when in focus

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2020.2006.12IE 11yes
  • Result: (pass)
    • Test Case: Use Enter or Space (Activate Button) on the target of `#example-1-target`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:#example-1-target
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter or Space (Activate Button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "hide button"
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxnot applicable-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromenot applicable-
Voice Control (MacOS)Firefoxnot applicable-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Dates and Versions of tested combinations

ATAT VersionBrowserBrowser versionOS versionDate tested
JAWS2021.2107.12Chrome92Windows 10 version 21h12021-07-30
JAWS2021.2107.12Edge92Windows 10 version 21h12021-07-30
JAWS2020.2006.12Firefox7920042020-08-15
Narrator2004Edge8420042020-08-15
NVDA2021.1Chrome92Windows 10 version 21h12021-07-30
NVDA2021.1Edge92Windows 10 version 21h12021-07-30
NVDA2019.1.1Firefox7920042020-08-15
Orca3.36.1Firefox79Ubuntu 20.042020-08-15
TalkBack8.2Chrome8472020-08-15
VoiceOver (iOS)13.6Safari13.613.62020-08-15
VoiceOver (macOS)10.15.6Safari13.1.210.15.62020-08-15

History

  • 2020-08-15 test created
  • 2021-07-30 Added Narrator results for NVDA and JAWS, updated NVDA+Chrome results.