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 select element test

Screen Reader support level: partial (89/121)

Voice Control support level: partial (17/30)

On this page

About this test

A sample select element with opt elements.

Submit new test results

Age of results

Results in this test range from 10 months ago to 5 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 5 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

disabled attribute
ExpectationJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
MUST convey the disabled state applied to: option elementsupportedsupportedsupportedpartialsupportedsupportedsupportedsupportedsupportedsupportedsupported
MUST convey the disabled state applied to: optgroup elementsupportedsupportedsupportednonesupportedsupportedsupportedsupportedsupportednonesupported
optgroup element
ExpectationJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
MUST convey its namenonenonenonenonenonenonesupportednonesupportedsupportedsupported
MUST convey its rolenonenonenonenonenonenonesupportednonenonesupportednone
MUST convey the boundaries of the elementnonenonenonenonenonenonesupportednonenonenonenone
option element
ExpectationJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
MUST convey its namesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
MUST convey its rolesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
MAY convey information about the position the option in the listnonenonenonesupportedsupportedsupportedsupportednonenonenonenone
select element
ExpectationJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
MUST convey its namesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
MUST convey its rolesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
MUST convey the current valuesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportednonesupportedsupported
MUST convey changes in valuesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportednonesupportedpartial
SHOULD convey the expanded and collapsed statessupportedsupportedsupportedsupportedsupportedsupportedsupportednonesupportedsupportedsupported
SHOULD convey the boundaries of the options within the selectsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
SHOULD provide shortcuts to jump to this rolesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported

* means that some support is hidden behind settings

Summary of Voice Control support by expectation

disabled attribute
ExpectationDragon Naturally SpeakingVoice Access (Android)Voice Control (iOS)Voice Control (MacOS)Windows Speech RecognitionWindows Voice Access
ChromeChromeSafariSafariEdgeChromeEdgeChrome
MAY convey the disabled state applied to: option elementnonesupportedunknownsupportedunknownunknownunknownunknown
MAY convey the disabled state applied to: optgroup elementnonesupportedunknownsupportedunknownunknownunknownunknown
optgroup element
ExpectationDragon Naturally SpeakingVoice Access (Android)Voice Control (iOS)Voice Control (MacOS)Windows Speech RecognitionWindows Voice Access
ChromeChromeSafariSafariEdgeChromeEdgeChrome
Not applicable
option element
ExpectationDragon Naturally SpeakingVoice Access (Android)Voice Control (iOS)Voice Control (MacOS)Windows Speech RecognitionWindows Voice Access
ChromeChromeSafariSafariEdgeChromeEdgeChrome
MUST convey its namepartialsupportednonesupportedsupportednoneunknownunknown
MUST convey its rolesupportedsupportednot applicablesupportedsupportednoneunknownunknown
select element
ExpectationDragon Naturally SpeakingVoice Access (Android)Voice Control (iOS)Voice Control (MacOS)Windows Speech RecognitionWindows Voice Access
ChromeChromeSafariSafariEdgeChromeEdgeChrome
MUST convey its namesupportednonesupportedsupportedsupportedsupportedunknownunknown
MUST convey its rolesupportedsupportednot applicablesupportedsupportedsupportedunknownunknown

* means that some support is hidden behind settings

Summary of Keyboard support by expectation

disabled attribute
ExpectationWindows KeyboardMac KeyboardiOS KeyboardAndroid Keyboard
ChromeFirefoxEdgeChromeSafariSafariChrome
Not applicable
optgroup element
ExpectationWindows KeyboardMac KeyboardiOS KeyboardAndroid Keyboard
ChromeFirefoxEdgeChromeSafariSafariChrome
Not applicable
option element
ExpectationWindows KeyboardMac KeyboardiOS KeyboardAndroid Keyboard
ChromeFirefoxEdgeChromeSafariSafariChrome
Not applicable
select 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 disabled attribute: convey the disabled state - applied to the option element

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

This expectation is from the disabled attribute feature.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: MAY

Examples:

  • Screen readers might convey the disabled state by announcing "disabled", "unavailable", or "dimmed"
  • Screen readers might convey the disabled state of certain embedded controls, such as the option element, by skipping it when navigating embedded controls
  • Voice control software might not include the element in operations, for example it might not flag the element with a number or respond to name commands

Grading method:

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

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenone
  • Result: (fail)
    • Test Case: Use "Choose <option text>" (Choose drop down option)
      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:*[disabled]
        • 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: "Choose <option text>" (Choose drop down option)
      5. Record results for the relevant expectations
    • Output: the "nothing" option was chosen, however, options within optgroups could not be chosen.
    • Result Notes: I said 'click listbox', 'show choices', 'choose nothing', and the option was activated.
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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.
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `*[disabled]`
      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:*[disabled]
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "everything"
    • Command Notes: Disabled options were skipped. could not find a command to navigate to them.
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `*[disabled]`
      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:*[disabled]
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "everything"
    • Command Notes: Disabled options were skipped. could not find a command to navigate to them.
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `*[disabled]`
      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:*[disabled]
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "everything"
    • Command Notes: Disabled options were skipped. could not find a command to navigate to them.
NarratorEdgepartial
  • Result: (partial)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option[disabled]`
      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:option[disabled]
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: browse (explicitly change the mode if needed)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "5 of 8 broccoli" (when scan mode is on)
    • Command Notes: Disabled options are skipped in forms mode. Partial because if you open the select and switch to browse mode, you can get to the disabled options but they are not conveyed as disabled. The posinset info may also hint at disabled options being present.
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `*[disabled]`
      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:*[disabled]
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: disabled options were skipped
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `*[disabled]`
      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:*[disabled]
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: disabled options were skipped
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `*[disabled]`
      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:*[disabled]
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: disabled options were skipped
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `*[disabled]`
      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:*[disabled]
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: disabled options are skipped which implies the disabled state
TalkBackChromeyes
  • Result: (pass)
    • Test Case: Use Swipe right (Select next option) to navigate forward to `*[disabled]`
      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:*[disabled]
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (Select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "veggies, disabled" for opgroup and "Broccoli, disabled" for option
    • Result Notes: failure because it is the same announcement as an optgroup ("double tap to toggle" was not announced) and the two may be confused.
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:*[disabled]
        • 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: role was not flagged with a number
    • Command Notes: said "show numbers"
  • Result: (pass)
    • Test Case: Use "Tap <text>" or just "<text>" (Activate item by name)
      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:*[disabled]
        • 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: "Tap <text>" or just "<text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output: button was not activated
    • Command Notes: said "tap Broccoli"
Voice Control (iOS)Safariunknown
  • Result: (unknown)
    • Test Case: Use "Show numbers" (Turn on the numbers overlay)
      1. Launch Voice Control (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:*[disabled]
        • 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: role was not flagged with a number
    • Command Notes: said "show numbers". Unknown because the select widget is not operable by VC.
  • Result: (unknown)
    • Test Case: Use "Tap <text>" (Activate item by name)
      1. Launch Voice Control (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:*[disabled]
        • 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: "Tap <text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output: button was not activated
    • Command Notes: said "tap Broccoli". Unknown because the select widget is not operable by VC.
Voice Control (MacOS)Safariyes
  • Result: (pass)
    • Test Case: Use "Click <text>" (Activate item by name)
      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:*[disabled]
        • 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 <text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output: option was not selected
    • Command Notes: said "click lettuce"
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Swipe down (select next option) to navigate forward to `*[disabled]`
      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:*[disabled]
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe down (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "broccoli, button" when within a disabled optgroup and "nothing, dimmed, button" for a disabled option outside of an optgroup
    • Result Notes: only passes when outside of a disabled optgroup
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `*[disabled]`
      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:*[disabled]
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "veggies, dimmed" or "nothing, dimmed"
Windows Speech RecognitionEdgeunknown
  • Result: (unknown)
    • Test Case: Use "Click <text>" (Activate item by name)
      1. Launch Windows Speech Recognition 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:*[disabled]
        • 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 <text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output:
    • Result Notes: none of the options were operable
Windows Speech RecognitionChromeunknown
  • Result: (unknown)
    • Test Case: Use "Click <text>" (Activate item by name)
      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:*[disabled]
        • 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 <text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output:
    • Result Notes: none of the options were operable
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: disabled attribute: convey the disabled state

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEunknown-
Dragon Naturally SpeakingFirefoxunknown-
JAWS 2020.2001.70IE 11yes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `*[disabled]`
      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:*[disabled]
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: disabled options were skipped
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxunknown-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromeunknown-
Voice Control (MacOS)Firefoxunknown-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Expectation for the disabled attribute: convey the disabled state - applied to the optgroup element

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

This expectation is from the disabled attribute feature.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: MAY

Examples:

  • Screen readers might convey the disabled state by announcing "disabled", "unavailable", or "dimmed"
  • Screen readers might convey the disabled state of certain embedded controls, such as the option element, by skipping it when navigating embedded controls
  • Voice control software might not include the element in operations, for example it might not flag the element with a number or respond to name commands

Grading method:

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

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenone
  • Result: (fail)
    • Test Case: Use "Choose <option text>" (Choose drop down option)
      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:*[disabled]
        • 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: "Choose <option text>" (Choose drop down option)
      5. Record results for the relevant expectations
    • Output: the "nothing" option was chosen, however, options within optgroups could not be chosen.
    • Result Notes: I said 'click listbox', 'show choices', 'choose nothing', and the option was activated.
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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.
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `*[disabled]`
      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:*[disabled]
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "everything"
    • Command Notes: Disabled options were skipped. could not find a command to navigate to them.
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `*[disabled]`
      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:*[disabled]
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "everything"
    • Command Notes: Disabled options were skipped. could not find a command to navigate to them.
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `*[disabled]`
      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:*[disabled]
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "everything"
    • Command Notes: Disabled options were skipped. could not find a command to navigate to them.
NarratorEdgenone
  • Result: (fail)
    • Test Case: Use Down arrow (Jump to next item (scan mode)) to navigate forward to `optgroup[disabled]`
      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:optgroup[disabled]
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: browse (explicitly change the mode if needed)
      5. Issue the command: Down arrow (Jump to next item (scan mode))
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "5 of 8 broccoli" (when scan mode is on)
    • Command Notes: optgroups were skipped entirely even after switching to browsemode.
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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.
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `*[disabled]`
      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:*[disabled]
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: disabled options were skipped
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `*[disabled]`
      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:*[disabled]
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: disabled options were skipped
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `*[disabled]`
      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:*[disabled]
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: disabled options were skipped
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `*[disabled]`
      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:*[disabled]
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: disabled options are skipped which implies the disabled state
TalkBackChromeyes
  • Result: (pass)
    • Test Case: Use Swipe right (Select next option) to navigate forward to `*[disabled]`
      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:*[disabled]
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (Select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "veggies, disabled" for opgroup and "Broccoli, disabled" for option
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:*[disabled]
        • 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: role was not flagged with a number
    • Command Notes: said "show numbers"
  • Result: (pass)
    • Test Case: Use "Tap <text>" or just "<text>" (Activate item by name)
      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:*[disabled]
        • 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: "Tap <text>" or just "<text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output: button was not activated
    • Command Notes: said "tap Broccoli"
Voice Control (iOS)Safariunknown
  • Result: (unknown)
    • Test Case: Use "Show numbers" (Turn on the numbers overlay)
      1. Launch Voice Control (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:*[disabled]
        • 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: role was not flagged with a number
    • Command Notes: said "show numbers". Unknown because the select widget is not operable by VC.
  • Result: (unknown)
    • Test Case: Use "Tap <text>" (Activate item by name)
      1. Launch Voice Control (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:*[disabled]
        • 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: "Tap <text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output: button was not activated
    • Command Notes: said "tap Broccoli". Unknown because the select widget is not operable by VC.
Voice Control (MacOS)Safariyes
  • Result: (pass)
    • Test Case: Use "Click <text>" (Activate item by name)
      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:*[disabled]
        • 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 <text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output: option was not selected
    • Command Notes: said "click lettuce"
VoiceOver (iOS)Safarinone
  • Result: (fail)
    • Test Case: Use Swipe down (select next option) to navigate forward to `*[disabled]`
      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:*[disabled]
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe down (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "broccoli, button" when within a disabled optgroup and "nothing, dimmed, button" for a disabled option outside of an optgroup
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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.
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `*[disabled]`
      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:*[disabled]
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "veggies, dimmed" or "nothing, dimmed"
Windows Speech RecognitionEdgeunknown
  • Result: (unknown)
    • Test Case: Use "Click <text>" (Activate item by name)
      1. Launch Windows Speech Recognition 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:*[disabled]
        • 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 <text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output:
    • Result Notes: none of the options were operable
Windows Speech RecognitionChromeunknown
  • Result: (unknown)
    • Test Case: Use "Click <text>" (Activate item by name)
      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:*[disabled]
        • 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 <text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output:
    • Result Notes: none of the options were operable
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: disabled attribute: convey the disabled state

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEunknown-
Dragon Naturally SpeakingFirefoxunknown-
JAWS 2020.2001.70IE 11yes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `*[disabled]`
      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:*[disabled]
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: disabled options were skipped
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxunknown-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromeunknown-
Voice Control (MacOS)Firefoxunknown-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Expectation for the optgroup element: convey its name

This expectation is from the optgroup element feature.

Rationale:

A screen reader user needs to know what to enter.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Grading method:

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

Notes:

For form inputs - commands to read line by line (down and up arrows in most windows screen readers) will not always result in the name being explicitly conveyed when the virtual focus is moved to an input where the label is visually displayed and programmatically associated with the input. This is acceptable because the name is implied by the fact that it should be naturally found in the reading order. Some screen readers choose to not convey the name in these cases, likely in an effort to reduce verbosity.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromenone
  • Result: (fail)
    • Test Case: Use Down arrow (select next option) to navigate forward to `optgroup`
      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:optgroup
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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 Down arrow (select next option) to navigate forward to `optgroup`
      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:optgroup
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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 Down arrow (select next option) to navigate forward to `optgroup`
      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:optgroup
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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.
NarratorEdgenone
  • Result: (fail)
    • Test Case: Use Down arrow (select next option) to navigate forward into `optgroup`
      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:optgroup
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "choose a food item, banana, combobox, collapsed, has popup, banana 2 of 8, selected"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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.
NVDAChromenone
  • Result: (fail)
    • Test Case: Use Down arrow (select next option) to navigate forward into `optgroup`
      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:optgroup
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "chicken, 3 of 8"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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 Down arrow (select next option) to navigate forward into `optgroup`
      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:optgroup
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "chicken, 3 of 8"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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.
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `optgroup` (leave keyboard focus within the 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:optgroup
        • 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: before target
        • Keyboard focus is: within target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Meats grouping. Chicken 1 of 2 level 2."
OrcaFirefoxnone
  • Result: (fail)
    • Test Case: Use Down arrow (select next option) to navigate forward to `optgroup`
      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:optgroup
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: not conveyed
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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.
TalkBackChromeyes
  • Result: (pass)
    • Test Case: Use Swipe right (Select next option) to navigate forward to `optgroup`
      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:optgroup
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (Select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "meats, disabled"
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Swipe down (select next option) to navigate forward to `optgroup`
      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:optgroup
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe down (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "meats", then "meats, dimmed, button"
    • Command Notes: The optgroup label is repeated twice, even visually. The first is announced without a role, and the second is announced as a disabled option.
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `optgroup`
      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:optgroup
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "meats, dimmed"
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: optgroup element: convey its name

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2020.2001.70IE 11partial
  • Result: (partial)
    • Test Case: Use Down arrow (select next option) to navigate forward into `optgroup`
      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:optgroup
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "chicken (meats)"
    • Result Notes: optgroup name is conveyed only when changing items while the listbox is collapsed.
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 optgroup element: convey its role

This expectation is from the optgroup element feature.

Rationale:

A screen reader user needs to know that options are in a group.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Examples:

  • A screen reader might convey the group role.

Grading method:

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

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromenone
  • Result: (fail)
    • Test Case: Use Down arrow (select next option) to navigate forward to `optgroup`
      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:optgroup
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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 Down arrow (select next option) to navigate forward to `optgroup`
      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:optgroup
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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 Down arrow (select next option) to navigate forward to `optgroup`
      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:optgroup
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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.
NarratorEdgenone
  • Result: (fail)
    • Test Case: Use Down arrow (select next option) to navigate forward to `optgroup`
      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:optgroup
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "choose a food item, chicken, combobox, collapsed, has popup, chicken 3 of 8, selected"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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.
NVDAChromenone
  • Result: (fail)
    • Test Case: Use Down arrow (select next option) to navigate forward to `optgroup`
      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:optgroup
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken, 3 of 8"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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 Down arrow (select next option) to navigate forward to `optgroup`
      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:optgroup
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken, 3 of 8"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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.
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `optgroup` (leave keyboard focus within the 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:optgroup
        • 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: before target
        • Keyboard focus is: within target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Meats grouping. Chicken 1 of 2 level 2."
OrcaFirefoxnone
  • Result: (fail)
    • Test Case: Use Down arrow (select next option) to navigate forward to `optgroup`
      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:optgroup
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: not conveyed
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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 Swipe right (Select next option) to navigate forward to `optgroup`
      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:optgroup
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (Select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "meats, disabled"
    • Result Notes: failure because it is announced just like a disabled option and users might not be able to tell the difference.
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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 Swipe down (select next option) to navigate forward to `optgroup`
      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:optgroup
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe down (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "meats", then "meats, dimmed, button"
    • Command Notes: The optgroup label is repeated twice, even visually. The first is announced without a role, and the second is announced as a disabled option.
    • Result Notes: Pass because it is spoken without a role, while options are announced as buttons. This lack of a role might imply the optgroup role. This is true even if it is unusual that the optgroup label is then repeated as a disabled option.
VoiceOver (macOS)Safarinone
  • Result: (fail)
    • Test Case: Use Down arrow (select next option) to navigate forward to `optgroup`
      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:optgroup
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "meats, dimmed"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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.
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: optgroup element: convey its role

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2020.2001.70IE 11unknown-
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 optgroup element: convey the boundaries of the element

This expectation is from the optgroup element feature.

Rationale:

A user needs to know when they enter and exit an element

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Examples:

  • A screen reader might announce the role of the element when entering and say something like "leaving" when exiting.
  • A screen reader might not explicitly announce entering and existing the element, but instead imply that the is in the containing object by conveying the roles of required children (options in a listbox for example).
  • A screen reader might announce position in set information such as "1 of 6".
  • A screen reader might not convey boundaries if the content fits on a single line

Grading method:

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

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromenone
  • Result: (fail)
    • Test Case: Use Down arrow (select next option) to navigate forward to `optgroup`
      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:optgroup
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken"
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 Down arrow (select next option) to navigate forward to `optgroup`
      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:optgroup
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken"
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 Down arrow (select next option) to navigate forward to `optgroup`
      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:optgroup
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken"
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.
NarratorEdgenone
  • Result: (fail)
    • Test Case: Use Down arrow (select next option) to navigate forwards out of `optgroup`
      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:optgroup
        • 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: within target
        • Keyboard focus is: within target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: after target
      6. Record results for the relevant expectations
    • Output: "choose a food item, everything, combobox, collapsed, has popup, everything 7 of 8, selected"
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.
NVDAChromenone
  • Result: (fail)
    • Test Case: Use Down arrow (select next option) to navigate forwards out of `optgroup`
      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:optgroup
        • 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: within target
        • Keyboard focus is: within target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: after target
      6. Record results for the relevant expectations
    • Output: "chicken, 3 of 8"
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 Down arrow (select next option) to navigate forwards out of `optgroup`
      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:optgroup
        • 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: within target
        • Keyboard focus is: within target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: after target
      6. Record results for the relevant expectations
    • Output: "chicken, 3 of 8"
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.
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forwards out of `optgroup`
      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:optgroup
        • 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: within target
        • Keyboard focus is: within target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: after target
      6. Record results for the relevant expectations
    • Output: optgroup announced when entering, and position of options within optgroup convey boundaries.
OrcaFirefoxnone
  • Result: (fail)
    • Test Case: Use Down arrow (select next option) to navigate forward to `optgroup`
      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:optgroup
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: 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 Swipe right (Select next option) to navigate forwards out of `optgroup`
      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:optgroup
        • 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: within target
        • Keyboard focus is: within target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (Select next option)
        • After issuing the command, virtual focus should be: after target
      6. Record results for the relevant expectations
    • Output: optgroup boundaries were 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)Safarinone
  • Result: (fail)
    • Test Case: Use Swipe down (select next option) to navigate forwards out of `optgroup`
      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:optgroup
        • 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: within target
        • Keyboard focus is: within target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe down (select next option)
        • After issuing the command, virtual focus should be: after target
      6. Record results for the relevant expectations
    • Output: everything, button
    • Command Notes: optgroup boundaries were 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.
VoiceOver (macOS)Safarinone
  • Result: (fail)
    • Test Case: Use Down arrow (select next option) to navigate forwards out of `optgroup`
      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:optgroup
        • 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: within target
        • Keyboard focus is: within target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: after target
      6. Record results for the relevant expectations
    • Output: optgroup boundaries were 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.
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: optgroup element: convey the boundaries of the element

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2020.2001.70IE 11partial
  • Result: (partial)
    • Test Case: Use Down arrow (select next option) to navigate forwards out of `optgroup`
      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:optgroup
        • 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: within target
        • Keyboard focus is: within target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: after target
      6. Record results for the relevant expectations
    • Output: optgroup boundaries were not conveyed
    • Result Notes: optgroup name and boundaries are conveyed only when changing items while the listbox is collapsed.
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 option element: convey its name

This expectation is from the option element feature.

Rationale:

A screen reader user needs to know what to enter.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: MUST

Examples:

  • A screen reader will announce the name of the option (if present) in addition to the value.
  • Voice control software will let the user say something like "choose <name>" after saying something like "show choices" to pick the option.

Grading method:

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

Notes:

For form inputs - commands to read line by line (down and up arrows in most windows screen readers) will not always result in the name being explicitly conveyed when the virtual focus is moved to an input where the label is visually displayed and programmatically associated with the input. This is acceptable because the name is implied by the fact that it should be naturally found in the reading order. Some screen readers choose to not convey the name in these cases, likely in an effort to reduce verbosity.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromepartial
  • Result: (partial)
    • Test Case: Use "Choose <option text>" (Choose drop down option)
      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:option
        • 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: "Choose <option text>" (Choose drop down option)
      5. Record results for the relevant expectations
    • Output: the "everything" option was chosen, however, options within optgroups could not be chosen.
Notes: Options within an optgroup are not supported. I said 'click listbox', 'show choices', 'choose banana', and the option was not activated. Saying 'choose everything' instead worked as expected ('everything' is not part of an optgroup).
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken"
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken"
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken"
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "choose a food item, chicken, combobox, collapsed, has popup, chicken 3 of 8, selected"
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken, 3 of 8"
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken, 3 of 8"
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "meats grouping, chicken 1 of 2 level 2"
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken"
TalkBackChromeyes
  • Result: (pass)
    • Test Case: Use Swipe right (Select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (Select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "steak, double tap to select"
Voice Access (Android)Chromeyes
  • Result: (pass)
    • Test Case: Use "Tap <text>" or just "<text>" (Activate item by name)
      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:option
        • 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: "Tap <text>" or just "<text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output: option was activated
    • Command Notes: said "tap banana"
Voice Control (iOS)Safarinone
  • Result: (fail)
    • Test Case: Use "Show names" (Turn on the names overlay)
      1. Launch Voice Control (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:option
        • 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 names" (Turn on the names overlay)
      5. Record results for the relevant expectations
    • Output: names were not listed for options
    • Command Notes: said "show names". This was done after tapping the select element so that options were displayed.
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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 Control (MacOS)Safariyes
  • Result: (pass)
    • Test Case: Use "Click <text>" (Activate item by name)
      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:option
        • 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 <text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output: option was selected
    • Command Notes: said "click everything"
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Swipe down (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe down (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "steak, button"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "steak"
Windows Speech RecognitionEdgeyes
  • Result: (pass)
    • Test Case: Use "Click <text>" (Activate item by name)
      1. Launch Windows Speech Recognition 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:option
        • 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 <text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output: role was activated
    • Command Notes: said "click chicken"
Windows Speech RecognitionChromenone
  • Result: (fail)
    • Test Case: Use "Click <text>" (Activate item by name)
      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:option
        • 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 <text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output: role was not activated
    • Command Notes: said "click chicken"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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.
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: option element: convey its name

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEunknown-
Dragon Naturally SpeakingFirefoxunknown-
JAWS 2020.2001.70IE 11yes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken"
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxunknown-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromeunknown-
Voice Control (MacOS)Firefoxunknown-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Expectation for the option element: convey its role

This expectation is from the option element feature.

Rationale:

A screen reader user needs to know how they can interact with the element. Voice control software might use the role to help users activate controls that do not have a visible name.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: MUST

Examples:

  • A screen reader might announce "option" as the role.
  • A screen reader might not announce a role because the role is implied by the role of a select element, combo box, or listbox.
  • A screen reader might not announce a role because the role is implied by the announcement of auto complete or suggestions.
  • Voice control software will let the user say something like "move down <n>" or "move up <n>" to select an option.

Grading method:

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

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromeyes
  • Result: (pass)
    • Test Case: Use "Move down <n>" (Move down <n> options)
      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:option
        • 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: "Move down <n>" (Move down <n> options)
      5. Record results for the relevant expectations
    • Output: value was changed to the next option
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken"
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken"
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken"
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "choose a food item, chicken, combobox, collapsed, has popup, chicken 3 of 8, selected"
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken, 3 of 8"
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken, 3 of 8"
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "meats grouping, chicken 1 of 2 level 2"
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken"
TalkBackChromeyes
  • Result: (pass)
    • Test Case: Use Swipe right (Select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (Select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "steak, double tap to select"
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:option
        • 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: role 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:option
        • 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: role was flagged with a number
    • Command Notes: said "show numbers"
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Swipe down (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe down (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "steak, button"
    • Result Notes: conveyed as a button, but that's okay because of the context.
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "steak"
Windows Speech RecognitionEdgeyes
  • Result: (pass)
    • Test Case: Use "Show numbers" (Turn on the numbers overlay)
      1. Launch Windows Speech Recognition 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:option
        • 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: role was flagged with a number
    • Command Notes: said "show numbers"
Windows Speech RecognitionChromenone
  • Result: (fail)
    • 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:option
        • 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: role was not flagged with a number
    • Command Notes: said "show numbers"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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.
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: option element: convey its role

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEunknown-
Dragon Naturally SpeakingFirefoxunknown-
JAWS 2020.2001.70IE 11yes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken"
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxunknown-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromeunknown-
Voice Control (MacOS)Firefoxunknown-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Expectation for the option element: convey information about the position the option in the list

This expectation is from the option element feature.

Rationale:

When user should be able to determine how many options are in the list and where they are in the list

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MAY
  • Voice Control: NA

Examples:

  • A screen reader might announce "choose <2 of 10>" when navigating through a list of options

Grading method:

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

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromenone
  • Result: (fail)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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 Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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 Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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 Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "choose a food item, chicken, combobox, collapsed, has popup, chicken 3 of 8, selected"
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken, 3 of 8"
    • Result Notes: position information is only conveyed when listbox is expanded. This matches the visual experience.
Notes: only conveyed when expanded
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken, 3 of 8"
    • Result Notes: position information is only conveyed when listbox is expanded. This matches the visual experience.
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "meats grouping, chicken 1 of 2 level 2"
    • Result Notes: only conveyed when expanded
Notes: only conveyed when expanded
OrcaFirefoxnone
  • Result: (fail)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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 Swipe right (Select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (Select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "steak, double tap to select"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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)Safarinone
  • Result: (fail)
    • Test Case: Use Swipe down (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe down (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "steak, button"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (fail)
    • Test Case: Use Tap or touch the item (select and speak an item) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tap or touch the item (select and speak an item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "selected, apple, button"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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.
VoiceOver (macOS)Safarinone
  • Result: (fail)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "steak"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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.
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: option element: convey information about the position the option in the list

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2020.2001.70IE 11none
  • Result: (fail)
    • Test Case: Use Down arrow (select next option) to navigate forward to `option`
      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:option
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "chicken"
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 select element: convey its name

This expectation is from the select element feature.

Rationale:

A screen reader user needs to know what to enter.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: MUST

Examples:

  • A screen reader might convey the name as something like "<role>, <name>, <value>" (order varies by screen reader and settings)
  • Voice control software might allow the user to say "click <name>" to focus the select element

Grading method:

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

Notes:

For form inputs - commands to read line by line (down and up arrows in most windows screen readers) will not always result in the name being explicitly conveyed when the virtual focus is moved to an input where the label is visually displayed and programmatically associated with the input. This is acceptable because the name is implied by the fact that it should be naturally found in the reading order. Some screen readers choose to not convey the name in these cases, likely in an effort to reduce verbosity.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromeyes
  • Result: (pass)
    • Test Case: Use "Click <text>" (Activate item by name)
      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:select
        • 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 <text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output: element was focused
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Combo box, collapsed, apple"
    • Result Notes: name is implied by reading order
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Combo box, collapsed, apple"
    • Result Notes: name is implied by reading order
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Combo box, collapsed, apple"
    • Result Notes: name is implied by reading order
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Jump to next item (scan mode)) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Jump to next item (scan mode))
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, apple, combobox, collapsed, has popup"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, apple, combobox, collapsed, has popup"
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combo box, collapsed, apple"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combo box, apple, collapsed"
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combo box, collapsed, apple"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combo box, apple, collapsed"
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "clickable, choose a food item, combo box, collapsed, apple"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combo box, apple, collapsed"
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combobox, apple"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combobox, apple, focus mode"
TalkBackChromeyes
  • Result: (pass)
    • Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (or alt+right arrow) (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "collapsed, choose a food item, menu popup button"
Voice Access (Android)Chromenone
  • Result: (fail)
    • Test Case: Use "Tap <text>" or just "<text>" (Activate item by name)
      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:select
        • 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: "Tap <text>" or just "<text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output: select was not activated
    • Command Notes: said "tap Choose a food item"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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 Control (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use "Tap <text>" (Activate item by name)
      1. Launch Voice Control (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:select
        • 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: "Tap <text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output: input was focused
    • Command Notes: said "tap Choose a food item".
Voice Control (MacOS)Safariyes
  • Result: (pass)
    • Test Case: Use "Click <text>" (Activate item by name)
      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:select
        • 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 <text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output: checkbox was checked
    • Command Notes: said "click Choose a food item"
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Swipe Right (Next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Right (Next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, apple, pop up button"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use VO + Right arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Right arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "apple, Choose a food item, pop up button"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "apple, Choose a food item, pop up button"
Windows Speech RecognitionEdgeyes
  • Result: (pass)
    • Test Case: Use "Click <text>" (Activate item by name)
      1. Launch Windows Speech Recognition 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:select
        • 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 <text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output: role was activated
    • Command Notes: said "click choose a food item"
Windows Speech RecognitionChromeyes
  • Result: (pass)
    • Test Case: Use "Click <text>" (Activate item by name)
      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:select
        • 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 <text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output: role was activated
    • Command Notes: said "click choose a food item"
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: select element: convey its name

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEunknown-
Dragon Naturally SpeakingFirefoxunknown-
JAWS 2020.2001.70IE 11yes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Combo box, apple"
    • Result Notes: name is implied by reading order
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxunknown-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromeunknown-
Voice Control (MacOS)Firefoxunknown-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Expectation for the select element: convey its role

This expectation is from the select element feature.

Rationale:

A screen reader user needs to know how they can interact with the element. Voice control software might use the role to help users activate controls that do not have a visible name.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: MUST

Examples:

  • A screen reader might convey the select as a select or a combo box
  • Voice control software might allow the user to say "click list box" to focus the select element

Grading method:

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

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:select
        • 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: element was focused
Notes: said "click list box"
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Combo box, collapsed, apple"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Combo box, collapsed, apple"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Combo box, collapsed, apple"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Jump to next item (scan mode)) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Jump to next item (scan mode))
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, apple, combobox, collapsed, has popup"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, apple, combobox, collapsed, has popup"
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combo box, collapsed, apple"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combo box, apple, collapsed"
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combo box, collapsed, apple"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combo box, apple, collapsed"
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "clickable, choose a food item, combo box, collapsed, apple"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combo box, apple, collapsed"
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combobox, apple"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combobox, apple, focus mode"
TalkBackChromeyes
  • Result: (pass)
    • Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (or alt+right arrow) (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "collapsed, choose a food item, menu popup button"
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:select
        • 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: role is 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:select
        • 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: role was flagged with a number
    • Command Notes: said "show numbers"
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Swipe Right (Next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Right (Next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, apple, pop up button"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use VO + Right arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Right arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "apple, Choose a food item, pop up button"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "apple, Choose a food item, pop up button"
Windows Speech RecognitionEdgeyes
  • Result: (pass)
    • Test Case: Use "Show numbers" (Turn on the numbers overlay)
      1. Launch Windows Speech Recognition 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:select
        • 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: role was flagged with a number
    • Command Notes: said "show numbers"
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:select
        • 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: role 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: select element: convey its role

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEunknown-
Dragon Naturally SpeakingFirefoxunknown-
JAWS 2020.2001.70IE 11yes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Combo box, apple"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxunknown-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromeunknown-
Voice Control (MacOS)Firefoxunknown-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Expectation for the select element: convey the current value

This expectation is from the select element feature.

Rationale:

A screen reader user needs to know the current value of the input.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Examples:

  • A screen reader might convey the value as something like "<role>, <name>, <value>" (order varies by screen reader and settings)

Grading method:

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

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Combo box, collapsed, apple"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Combo box, collapsed, apple"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Combo box, collapsed, apple"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Jump to next item (scan mode)) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Jump to next item (scan mode))
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, apple, combobox, collapsed, has popup"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, apple, combobox, collapsed, has popup"
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combo box, collapsed, apple"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combo box, apple, collapsed"
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combo box, collapsed, apple"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combo box, apple, collapsed"
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "clickable, choose a food item, combo box, collapsed, apple"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combo box, apple, collapsed"
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combobox, apple"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combobox, apple, focus mode"
TalkBackChromenone
  • Result: (fail)
    • Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (or alt+right arrow) (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "collapsed, choose a food item, menu popup button"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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 Swipe Right (Next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Right (Next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, apple, pop up button"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use VO + Right arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Right arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "apple, Choose a food item, pop up button"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "apple, Choose a food item, pop up button"
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: select element: convey the current value

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2020.2001.70IE 11yes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Combo box, apple"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
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 select element: convey changes in value

This expectation is from the select element feature.

Rationale:

The user needs to know that the value was successfully changed.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Examples:

  • A screen reader might announce the new value after it has been changed

Grading method:

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

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "banana"
  • Result: (pass)
    • Test Case: Use <enter text> (enter text) on the target of `select`
      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:select
        • 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: forms (explicitly change the mode if needed)
      5. Issue the command: <enter text> (enter text)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "b banana"
    • Command Notes: pressed 'b' to select the first option that starts with b.
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "banana"
  • Result: (pass)
    • Test Case: Use <enter text> (enter text) on the target of `select`
      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:select
        • 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: forms (explicitly change the mode if needed)
      5. Issue the command: <enter text> (enter text)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "b banana"
    • Command Notes: pressed 'b' to select the first option that starts with b.
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "banana"
  • Result: (pass)
    • Test Case: Use <enter text> (enter text) on the target of `select`
      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:select
        • 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: forms (explicitly change the mode if needed)
      5. Issue the command: <enter text> (enter text)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "b banana"
    • Command Notes: pressed 'b' to select the first option that starts with b.
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Enter (select an option) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: forms (explicitly change the mode if needed)
      5. Issue the command: Enter (select an option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "choose a food item, banana, combobox, collapsed, has popup, banana 2 of 8, selected"
    • Command Notes: this is verbose output
  • Result: (pass)
    • Test Case: Use <enter text> (enter text) on the target of `select`
      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:select
        • 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: forms (explicitly change the mode if needed)
      5. Issue the command: <enter text> (enter text)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "b choose a food item, banana combobox, collapsed, has popup, banana, 2 of 8 selected"
    • Command Notes: pressed 'b' to select the first option that starts with b.
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "banana, 2 of 8"
  • Result: (pass)
    • Test Case: Use <enter text> (enter text) on the target of `select`
      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:select
        • 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: forms (explicitly change the mode if needed)
      5. Issue the command: <enter text> (enter text)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "b banana"
    • Command Notes: pressed 'b' to select the first option that starts with b.
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "banana, 2 of 8"
  • Result: (pass)
    • Test Case: Use <enter text> (enter text) on the target of `select`
      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:select
        • 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: forms (explicitly change the mode if needed)
      5. Issue the command: <enter text> (enter text)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "b banana"
    • Command Notes: pressed 'b' to select the first option that starts with b.
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combo box, apple, collapsed"
  • Result: (pass)
    • Test Case: Use <enter text> (enter text) on the target of `select`
      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:select
        • 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: forms (explicitly change the mode if needed)
      5. Issue the command: <enter text> (enter text)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "b banana"
    • Command Notes: pressed 'b' to select the first option that starts with b.
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use Enter (select an option) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter (select an option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combobox, banana, focus mode"
  • Result: (pass)
    • Test Case: Use <enter text> (enter text) on the target of `select`
      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:select
        • 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: forms (explicitly change the mode if needed)
      5. Issue the command: <enter text> (enter text)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: b banana
    • Command Notes: pressed 'b' to select the first option that starts with b.
TalkBackChromenone
  • Result: (fail)
    • Test Case: Use Double tap (select an option) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Double tap (select an option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "collapsed, choose a food item, menu popup button out of list"
Notes: Partial support due to the work around needed to activate an option. I was unable to activate an option after double tapping the pop up button. The list was displayed and I could swipe right to navigate options, but double tapping just closed the list and didn't change the value. Work around: swipe right through the entire page until you reach the open options at the end of the page, then you can navigate and make your selection.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 (select an option) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Double tap (select an option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, apple, pop up button"
Notes: Focus was sent back to the select after a choice was made, so the control was announced again with the new value
VoiceOver (macOS)Safaripartial
  • Result: (pass)
    • Test Case: Use Enter (select an option) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Enter (select an option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Closing menu, chicken, Choose a food item, pop up button"
  • Result: (fail)
    • Test Case: Use <enter text> (enter text) on the target of `select`
      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:select
        • 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: forms (explicitly change the mode if needed)
      5. Issue the command: <enter text> (enter text)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: silence - but visually banana was selected
    • Command Notes: pressed 'b' to select the first option that starts with b.
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: select element: convey changes in value

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2020.2001.70IE 11yes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "banana (fruits)"
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 select element: convey the expanded and collapsed states

This expectation is from the select element feature.

Rationale:

The user might find it helpful to know if the select is open or closed.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: SHOULD
  • Voice Control: NA

Examples:

  • A screen reader might convey the collapsed state as "4 of 4" and the expanded state as
  • A screen reader will usually imply the expanded state by sending focus to the option list. When the user leaves the option list, the select becomes collapsed.

Grading method:

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

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Combo box, collapsed, apple"
  • Result: (fail)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Combo box, collapsed, apple"
  • Result: (fail)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Combo box, collapsed, apple"
  • Result: (fail)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Jump to next item (scan mode)) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Jump to next item (scan mode))
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, apple, combobox, collapsed, has popup"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, apple, combobox, collapsed, has popup"
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combo box, collapsed, apple"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combo box, apple, collapsed"
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combo box, collapsed, apple"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combo box, apple, collapsed"
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "clickable, choose a food item, combo box, collapsed, apple"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combo box, apple, collapsed"
OrcaFirefoxnone
  • Result: (fail)
    • Test Case: Use down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combobox, apple"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (fail)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combobox, apple, focus mode"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
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.
TalkBackChromeyes
  • Result: (pass)
    • Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (or alt+right arrow) (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "collapsed, choose a food item, menu popup button"
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Swipe Right (Next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Right (Next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, apple, pop up button"
Notes: implied by the pop up button
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use VO + Right arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Right arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "apple, Choose a food item, pop up button"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "apple, Choose a food item, pop up button"
Notes: Implied by the pop up button role
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: select element: convey the expanded and collapsed states

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2020.2001.70IE 11none
  • Result: (fail)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Combo box, apple"
  • Result: (fail)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
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 select element: convey the boundaries of the options within the select

This expectation is from the select element feature.

Rationale:

The user needs to know when they enter and leave the options.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: SHOULD
  • Voice Control: NA

Examples:

  • A screen reader might convey the option name when entering, and "out of select" when exiting
  • A screen reader might convey information about the position in the options, such as "4 of 4" to indicate the start and end of the options

Grading method:

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

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "banana"
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "banana"
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "banana"
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Up arrow (select previous option) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (select previous option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "choose a food item, apple, combobox, collapsed, has popup, apple 1 of 8, selected"
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "choose a food item, banana, combobox, collapsed, has popup, everything 7 of 8, selected"
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "banana, 2 of 8"
  • Result: (pass)
    • Test Case: Use Up arrow (select previous option) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (select previous option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: when expanded: "apple, 1 of 8"; when collapsed: implied by silence when trying to press up arrow to navigate to navigate past the first option.
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "banana, 2 of 8"
  • Result: (pass)
    • Test Case: Use Up arrow (select previous option) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (select previous option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: when expanded: "apple, 1 of 8"; when collapsed: implied by silence when trying to press up arrow to navigate to navigate past the first option.
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use Up arrow (select previous option) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (select previous option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: when expanded: "apple, 1 of 2, level 2"; when collapsed: implied by silence when trying to press up arrow to navigate to navigate past the first option.
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: when expanded: "everything, 1 of 2"; when expanded and collapsed: implied by silence when trying to press down arrow to navigate to navigate past the last option.
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: implied by looping through list
TalkBackChromeyes
  • Result: (pass)
    • Test Case: Use Swipe left (Select previous option) to navigate backwards to the start of `select`
      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:select
        • 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: within target
        • Keyboard focus is: within target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe left (Select previous option)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: earcon + absence of announcement conveys boundary
  • Result: (pass)
    • Test Case: Use Swipe right (Select next option) to navigate forwards to the end of `select`
      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:select
        • 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: within target
        • Keyboard focus is: within target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (Select next option)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: earcon + absence of announcement conveys boundary
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Swipe up (select previous option) to navigate backwards to the start of `select`
      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:select
        • 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: within target
        • Keyboard focus is: within target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe up (select previous option)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: first optgroup label was re-announced with an earcon
  • Result: (pass)
    • Test Case: Use Swipe down (select next option) to navigate forwards to the end of `select`
      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:select
        • 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: within target
        • Keyboard focus is: within target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe down (select next option)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "dismiss context menu, button"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forwards to the end of `select`
      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:select
        • 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: within target
        • Keyboard focus is: within target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: loops through the menu with an earcon that conveys the end was reached
  • Result: (pass)
    • Test Case: Use VO + Down arrow (Move VO cursor down) to navigate backwards to the start of `select`
      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:select
        • 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: within target
        • Keyboard focus is: within target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Down arrow (Move VO cursor down)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: earcon indicates start of list
  • Result: (pass)
    • Test Case: Use VO + Down arrow (Move VO cursor down) to navigate forwards to the end of `select`
      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:select
        • 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: within target
        • Keyboard focus is: within target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Down arrow (Move VO cursor down)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: earcon indicates end of list
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: select element: convey the boundaries of the options within the select

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2020.2001.70IE 11yes
  • Result: (pass)
    • Test Case: Use Down arrow (select next option) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (select next option)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "banana (fruits)"
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 select element: provide shortcuts to jump to this role

This expectation is from the select element feature.

Rationale:

Screen reader users might want to quickly navigate to elements of this type.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: SHOULD
  • Voice Control: NA

Examples:

  • A screen reader might provide a keyboard shortcut to jump to the next form control or provide a list of all form controls

Grading method:

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

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use f (Next form field) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: f (Next form field)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, Combo box, collapsed apple"
  • Result: (pass)
    • Test Case: Use Insert + F3 (Open element list)
      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:select
        • 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
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Insert + F3 (Open element list)
        • After issuing the command, virtual focus should be: na
      6. Record results for the relevant expectations
    • Output: "Choose a food item combo box apple"
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use f (Next form field) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: f (Next form field)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, Combo box, collapsed apple"
  • Result: (pass)
    • Test Case: Use Insert + F3 (Open element list)
      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:select
        • 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
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Insert + F3 (Open element list)
        • After issuing the command, virtual focus should be: na
      6. Record results for the relevant expectations
    • Output: "Choose a food item combo box apple"
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use f (Next form field) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: f (Next form field)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, Combo box, collapsed apple"
  • Result: (pass)
    • Test Case: Use Insert + F3 (Open element list)
      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:select
        • 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
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Insert + F3 (Open element list)
        • After issuing the command, virtual focus should be: na
      6. Record results for the relevant expectations
    • Output: "Choose a food item combo box apple"
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use f (Next form field) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: f (Next form field)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, apple, combobox, collapsed, has popup"
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use f (Next form field) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: f (Next form field)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, Combobox, collapsed, apple."
  • Result: (pass)
    • Test Case: Use NVDA + F7 (Open Elements List)
      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:select
        • 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
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: NVDA + F7 (Open Elements List)
        • After issuing the command, virtual focus should be: na
      6. Record results for the relevant expectations
    • Output: "Choose a food item; combo box; collapsed; apple"
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use f (Next form field) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: f (Next form field)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, Combobox, collapsed, apple."
  • Result: (pass)
    • Test Case: Use NVDA + F7 (Open Elements List)
      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:select
        • 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
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: NVDA + F7 (Open Elements List)
        • After issuing the command, virtual focus should be: na
      6. Record results for the relevant expectations
    • Output: "Choose a food item; combo box; collapsed; apple"
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use f (Next form field) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: f (Next form field)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, Combobox, collapsed, apple"
  • Result: (pass)
    • Test Case: Use NVDA + F7 (Open Elements List)
      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:select
        • 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
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: NVDA + F7 (Open Elements List)
        • After issuing the command, virtual focus should be: na
      6. Record results for the relevant expectations
    • Output: "choose a food item; combo box; collapsed; apple"
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use c (Next combo box (select)) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: c (Next combo box (select))
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, combobox, apple"
  • Result: (pass)
    • Test Case: Use alt + shift + c (Open a list of combo boxes (selects)) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: alt + shift + c (Open a list of combo boxes (selects))
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: in list of combo boxes
TalkBackChromeyes
  • Result: (pass)
    • Test Case: Use Swipe down (alt+c) (next control (correct reading control must be selected)) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe down (alt+c) (next control (correct reading control must be selected))
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "collapsed, choose a food item, menu popup button"
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Swipe down (next form control (correct item type must be selected)) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe down (next form control (correct item type must be selected))
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, apple, pop up button"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use VO + Command + J (Next Form Control) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Command + J (Next Form Control)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "apple, Choose a food item pop up button"
  • Result: (pass)
    • Test Case: Use VO + U (Open Rotor)
      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:select
        • 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
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + U (Open Rotor)
        • After issuing the command, virtual focus should be: na
      6. Record results for the relevant expectations
    • Output: in list of form controls as "apple, Choose a food item pop up button"
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: select element: provide shortcuts to jump to this role

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2020.2001.70IE 11yes
  • Result: (pass)
    • Test Case: Use f (Next form field) to navigate forward to `select`
      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:select
        • 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: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: f (Next form field)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Choose a food item, Combo box, apple"
  • Result: (pass)
    • Test Case: Use Insert + F3 (Open element list)
      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:select
        • 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
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Insert + F3 (Open element list)
        • After issuing the command, virtual focus should be: na
      6. Record results for the relevant expectations
    • Output: Shown in list of form fields
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
Dragon Naturally Speaking15.30Chrome75Windows 10 version 19032019-08-08
JAWS2022.2210.29Chrome107Windows 11 version 22H22022-10-18
JAWS2022.2210.29Edge107Windows 11 version 22H22022-10-18
JAWS2022.2210.29Firefox107Windows 11 version 22H22022-10-18
NarratorWindows 11 version 22H2Edge107Windows 11 version 22H22022-10-18
NVDA2022.3.2Chrome107Windows 11 version 22H22022-10-18
NVDA2022.3.2Edge107Windows 11 version 22H22022-10-18
NVDA2022.3.2Firefox107Windows 11 version 22H22022-10-18
Orca42.0Firefox106Ubuntu 22.042023-11-23
TalkBack13.5Chrome107122022-11-23
Voice Access (Android)3.1Chrome7772019-10-02
Voice Control (iOS)13.0Safari13.013.02019-09-23
Voice Control (MacOS)10.15Safari13.0.210.152019-10-07
VoiceOver (iOS)16.1Safari116.116.12022-11-23
VoiceOver (macOS)13.0.1Safari16.113.0.12022-11-23
Windows Speech RecognitionWindows 10 version 1903Edge44Windows 10 version 19032019-10-18
Windows Speech RecognitionWindows 10 version 1903Chrome77Windows 10 version 19032019-10-18

History

  • 2019-08-02 Test created
  • 2019-08-08 Added and tested disabled optgroups and options
  • 2019-09-15 Add orca
  • 2019-09-23 Added vc_ios results
  • 2019-10-02 Add va_and results
  • 2019-10-07 Add vc_macos results
  • 2019-10-18 Add wsr results
  • 2020-02-20 Update NVDA+FF. Now supports posinet and optgroups. Thanks @smhigley. Also updated other core screen reader combinations.
  • 2021-08-07 Added Narrator results for NVDA and JAWS, updated NVDA+Chrome results.
  • 2022-11-23 Updated core screen reader tests.