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 role attribute tests for Voice Control

Screen Reader support level: unknown

Voice Control support level: unknown

On this page

About this test

This tests if Voice Control software uses roles to determine if an element is actionable.

Submit new test results

Age of results

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

Test HTML

Open the test case HTML file

HTML source is too long to display here.

Summary of Screen Reader support by expectation

role attribute
ExpectationJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
Not applicable

* means that some support is hidden behind settings

Summary of Voice Control support by expectation

role attribute
ExpectationDragon Naturally SpeakingVoice Access (Android)Voice Control (iOS)Voice Control (MacOS)Windows Speech RecognitionWindows Voice Access
ChromeChromeSafariSafariEdgeChromeEdgeChrome
MAY use the role to determine if an element is actionable applied to: div elementsupportedsupportednot applicablesupportedunknownsupportedunknownunknown

* means that some support is hidden behind settings

Detailed support results by expectation

Expectation for the role attribute: use the role to determine if an element is actionable - applied to the div element

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

This expectation is from the role attribute feature.

Rationale:

Voice control users may wish to activate roles that are actionable.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: NA
  • Voice Control: MAY

Grading method:

Just one of the listed commands must pass for the expectation to pass.

Notes:

Voice control software may choose to look at an element's role when determining if it is actionable. Some voice control software will allow users to activate elements by specific roles, while others will only flag actionable elements with numbers. Note that Voice Control for iOS will flag all elements on the page with numbers, not just those that are actionable.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromeyes
  • Result: (pass)
    • Test Case: Use Click <role> (Click Type)
      1. Launch Dragon Naturally Speaking 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:#target-1
        • 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. Issue the command: Click <role> (Click Type)
      5. Record results for the relevant expectations
    • Output: target was flagged for disambiguation
    • Command Notes: said "click button"
  • Result: (pass)
    • Test Case: Use Click <role> (Click Type)
      1. Launch Dragon Naturally Speaking 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:#test-2
        • 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. Issue the command: Click <role> (Click Type)
      5. Record results for the relevant expectations
    • Output: target was not activated and not flagged for disambiguation
    • Command Notes: said "click button"
JAWSChromenot applicable-
JAWSEdgenot applicable-
JAWSFirefoxnot applicable-
NarratorEdgenot applicable-
NVDAChromenot applicable-
NVDAEdgenot applicable-
NVDAFirefoxnot applicable-
OrcaFirefoxnot applicable-
TalkBackChromenot applicable-
Voice Access (Android)Chromeyes
  • Result: (pass)
    • Test Case: Use "Show numbers" (Turn on the numbers overlay)
      1. Launch Voice Access (Android) 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:#target-1
        • 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. Issue the command: "Show numbers" (Turn on the numbers overlay)
      5. Record results for the relevant expectations
    • Output: target was flagged with a number
    • Command Notes: said "show numbers"
  • Result: (pass)
    • Test Case: Use "Show numbers" (Turn on the numbers overlay)
      1. Launch Voice Access (Android) 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:#target-2
        • 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. Issue the command: "Show numbers" (Turn on the numbers overlay)
      5. Record results for the relevant expectations
    • Output: target was flagged with a number
    • Command Notes: said "show numbers"
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safariyes
  • Result: (pass)
    • Test Case: Use "Show numbers" (Turn on the numbers overlay)
      1. Launch Voice Control (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:#target-1
        • 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. Issue the command: "Show numbers" (Turn on the numbers overlay)
      5. Record results for the relevant expectations
    • Output: target was flagged with a number
    • Command Notes: said "show numbers"
  • Result: (pass)
    • Test Case: Use "Show numbers" (Turn on the numbers overlay)
      1. Launch Voice Control (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:#test-2
        • 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. Issue the command: "Show numbers" (Turn on the numbers overlay)
      5. Record results for the relevant expectations
    • Output: target was flagged with a number
    • Command Notes: said "show numbers"
VoiceOver (iOS)Safarinot applicable-
VoiceOver (macOS)Safarinot applicable-
Windows Speech RecognitionEdgeunknown-
Windows Speech RecognitionChromeyes
  • Result: (pass)
    • Test Case: Use "Show numbers" (Turn on the numbers overlay)
      1. Launch Windows Speech Recognition 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:#target-1
        • 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. Issue the command: "Show numbers" (Turn on the numbers overlay)
      5. Record results for the relevant expectations
    • Output: target was flagged with a number
    • Command Notes: said "show numbers"
  • Result: (pass)
    • Test Case: Use "Show numbers" (Turn on the numbers overlay)
      1. Launch Windows Speech Recognition 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:#target-2
        • 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. Issue the command: "Show numbers" (Turn on the numbers overlay)
      5. Record results for the relevant expectations
    • Output: target was flagged with a number
    • Command Notes: said "show numbers"
Windows Voice AccessEdgeunknown-
Windows Voice AccessChromeunknown-
Windows KeyboardChromenot applicable-
Windows KeyboardFirefoxnot applicable-
Windows KeyboardEdgenot applicable-
Mac KeyboardChromenot applicable-
Mac KeyboardSafarinot applicable-
iOS KeyboardSafarinot applicable-
Android KeyboardChromenot applicable-

Extended Support for: role attribute: use the role to determine if an element is actionable

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEunknown-
Dragon Naturally SpeakingFirefoxunknown-
JAWSIEnot applicable-
NarratorFirefoxnot applicable-
NarratorChromenot applicable-
NarratorIEnot applicable-
NVDAIEnot applicable-
TalkBackFirefoxnot applicable-
Voice Access (Android)Firefoxunknown-
VoiceOver (iOS)Chromenot applicable-
VoiceOver (macOS)Chromenot applicable-
VoiceOver (macOS)Firefoxnot applicable-
OrcaChromenot applicable-
Voice Control (MacOS)Chromeunknown-
Voice Control (MacOS)Firefoxunknown-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Dates and Versions of tested combinations

ATAT VersionBrowserBrowser versionOS versionDate tested
Dragon Naturally Speaking15.30Chrome78Windows 10 version 19032019-12-02
Voice Access (Android)3.1Chrome78102019-12-02
Voice Control (MacOS)10.15Safari13.0.310.152019-12-02
Windows Speech RecognitionWindows 10 version 1903Chrome78Windows 10 version 19032019-12-02

History

  • 2019-12-02 Create test