Notice: 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.

Run this test and submit your results

Age of results

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

Test HTML

open the test page

HTML source is too long to display here.

Summary of Screen Reader support by expectation

role attribute
ExpectationJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeIEFirefoxEdgeChromeFirefoxFirefoxChromeSafariSafari
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 Recognition
ChromeChromeSafariSafariChrome
MAY use the role to determine if an element is actionable applied to: div elementsupportedsupportednot applicablesupportedsupported

* 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-
JAWSIEnot applicable-
JAWSFirefoxnot applicable-
NarratorEdgenot applicable-
NVDAChromenot 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 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"

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-
JAWSEdgenot applicable-
NarratorFirefoxnot applicable-
NarratorChromenot applicable-
NarratorIEnot applicable-
NVDAIEnot applicable-
NVDAEdgenot 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-
Windows Speech RecognitionEdgeunknown-
Back to top

Dates and Versions of tested combinations

ATAT VersionBrowserBrowser versionOS versionDate tested
Dragon Naturally Speaking15.30Chrome7819032019-12-02
Voice Access (Android)3.1Chrome78102019-12-02
Voice Control (MacOS)10.15Safari13.0.310.152019-12-02
Windows Speech Recognition1903Chrome7819032019-12-02

History

  • 2019-12-02 Create test