Notice: This is a work in progress. Please submit feedback or suggestions.

Test: HTML select element test

Screen Reader support level: partial (88/110)

Voice Control support level: partial (13/18)

On this page

About this test

A sample select element with opt elements.

Run this test and and submit your results

Age of results

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

Failing and partial results are between 10 months ago and 10 months ago.

Test HTML

open the test page

HTML source is too long to display here.

Summary of Screen Reader support by expectation

ExpectationJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeIEFirefoxEdgeChromeFirefoxFirefoxChromeSafariSafari
disabled attribute
MUST convey the disabled state applied to: optgroup elementsupportedsupportedsupportedsupportedsupportedsupportedsupportednonesupportedsupported
MUST convey the disabled state applied to: option elementsupportedsupportedsupportedsupportedsupportedsupportedsupportednonesupportedsupported
optgroup element
MUST convey its namenonepartialsupportednonenonesupportednonesupportedsupportedsupported
MUST convey its rolenoneunknownsupportedpartialnonesupportednonenonenonenone
MUST convey the boundaries of the elementnonepartialsupportedsupportednonesupportednonenonenonenone
option element
MUST convey its namesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
MUST convey its rolesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
MAY convey information about the position the option in the listnonenonesupportedsupportedsupportedsupportednonenonepartialnone
select element
MUST convey its namesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
MUST convey its rolesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
MUST convey the current valuesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
MUST convey changes in valuesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
SHOULD convey the expanded and collapsed statesnonenonenonesupportedsupportedsupportednonesupportedsupportedsupported
SHOULD convey the boundaries of the options within the selectsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
SHOULD provide shortcuts to jump to this rolesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported

* means that some support is hidden behind settings

Summary of Voice Control support by expectation

* 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 optgroup element

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

Strength of these expectations for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: MAY

Examples of assistive technologies support this expectation:

  • 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.

This expectation is from the disabled attribute feature.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenone
  • Result: (fail)
    • command: "Choose <option text>" (Choose drop down option)
    • 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.
JAWSChromeyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: disabled options were skipped
JAWSIEyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: disabled options were skipped
JAWSFirefoxyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: disabled options were skipped
NarratorEdgeyes
  • Result: (pass)
    • command: Down arrow (Read next item (scan mode))
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Broccoli, 1 of 2" (when scan mode is on)
    • Result Notes: implied by not being able to select it
NVDAChromeyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: disabled options were skipped
NVDAFirefoxyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: disabled options were skipped
OrcaFirefoxyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: disabled options are skipped which implies the disabled state
TalkBackChromenone
  • Result: (fail)
    • command: Swipe right (Select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Broccoli"
    • 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)
    • command: "Show numbers" (Turn on the numbers overlay)
    • Output: role was not flagged with a number
    • Command Notes: said "show numbers"
  • Result: (pass)
    • command: "Tap <text>" or just "<text>" (Activate item by name)
    • Output: button was not activated
    • Command Notes: said "tap Broccoli"
Voice Control (iOS)Safariunknown
  • Result: (unknown)
    • command: "Show numbers" (Turn on the numbers overlay)
    • 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)
    • command: "Tap <text>" (Activate item by name)
    • 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)
    • command: "Click <text>" (Activate item by name)
    • Output: option was not selected
    • Command Notes: said "click lettuce"
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • command: Swipe down (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: disabled options and optgroups were not displayed at all
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "veggies, dimmed" or "nothing, dimmed"
Windows Speech RecognitionChromeunknown
  • Result: (unknown)
    • command: "Click <text>" (Activate item by name)
    • Output:
    • Result Notes: none of the options were operable

Extended Support for: disabled attribute: convey the disabled state

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEunknown-
Dragon Naturally SpeakingFirefoxunknown-
JAWSEdgeunknown-
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
NVDAEdgeunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxunknown-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromeunknown-
Voice Control (MacOS)Firefoxunknown-
Windows Speech Recognition 1903Edge 44unknown
  • Result: (unknown)
    • command: "Click <text>" (Activate item by name)
    • Output:
    • Result Notes: none of the options were operable
Back to top

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.

Strength of these expectations for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: MAY

Examples of assistive technologies support this expectation:

  • 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.

This expectation is from the disabled attribute feature.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenone
  • Result: (fail)
    • command: "Choose <option text>" (Choose drop down option)
    • 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.
JAWSChromeyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: disabled options were skipped
JAWSIEyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: disabled options were skipped
JAWSFirefoxyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: disabled options were skipped
NarratorEdgeyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: disabled options are skipped
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: disabled options are skipped
  • Result: (pass)
    • command: Down arrow (Read next item (scan mode))
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Broccoli, 1 of 2" (when scan mode is on)
    • Result Notes: implied by not being able to select it
NVDAChromeyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: disabled options were skipped
NVDAFirefoxyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: disabled options were skipped
OrcaFirefoxyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: disabled options are skipped which implies the disabled state
TalkBackChromenone
  • Result: (fail)
    • command: Swipe right (Select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Broccoli"
    • 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)
    • command: "Show numbers" (Turn on the numbers overlay)
    • Output: role was not flagged with a number
    • Command Notes: said "show numbers"
  • Result: (pass)
    • command: "Tap <text>" or just "<text>" (Activate item by name)
    • Output: button was not activated
    • Command Notes: said "tap Broccoli"
Voice Control (iOS)Safariunknown
  • Result: (unknown)
    • command: "Show numbers" (Turn on the numbers overlay)
    • 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)
    • command: "Tap <text>" (Activate item by name)
    • 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)
    • command: "Click <text>" (Activate item by name)
    • Output: option was not selected
    • Command Notes: said "click lettuce"
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • command: Swipe down (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: disabled options and optgroups were not displayed at all
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "veggies, dimmed" or "nothing, dimmed"
Windows Speech RecognitionChromeunknown
  • Result: (unknown)
    • command: "Click <text>" (Activate item by name)
    • Output:
    • Result Notes: none of the options were operable

Extended Support for: disabled attribute: convey the disabled state

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEunknown-
Dragon Naturally SpeakingFirefoxunknown-
JAWSEdgeunknown-
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
NVDAEdgeunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxunknown-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromeunknown-
Voice Control (MacOS)Firefoxunknown-
Windows Speech Recognition 1903Edge 44unknown
  • Result: (unknown)
    • command: "Click <text>" (Activate item by name)
    • Output:
    • Result Notes: none of the options were operable
Back to top

Expectation for the optgroup element: convey its name

Rationale: A screen reader user needs to know what to enter.

Strength of these expectations 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.

This expectation is from the optgroup element feature.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromenone
  • Result: (fail)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: "chicken"
JAWSIEpartial
  • Result: (partial)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: "chicken (meats)"
    • Result Notes: optgroup name is conveyed only when changing items while the listbox is collapsed.
Notes: only conveyed when the pressing up or down arrows while the listbox is closed
JAWSFirefoxyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "meats, horizontal, chicken" and "steak 2 of 2"
    • Command Notes: optgroup semantics are conveyed when the listbox is expanded, but not collapsed. This matches the visual experience.
NarratorEdgenone
  • Result: (fail)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: not conveyed
NVDAChromenone
  • Result: (fail)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: not conveyed
NVDAFirefoxyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Meats grouping. Chicken 1 of 2 level 2."
OrcaFirefoxnone
  • Result: (fail)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: not conveyed
TalkBackChromeyes
  • Result: (pass)
    • command: Swipe right (Select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "meats"
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • command: Swipe down (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "meats"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "meats, dimmed"
Windows Speech RecognitionChromenot applicable-

Extended Support for: optgroup element: convey its name

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWSEdgeunknown-
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
NVDAEdgeunknown-
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-
Windows Speech Recognition 1903Edge 44not applicable-
Back to top

Expectation for the optgroup element: convey its role

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

Strength of these expectations for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Examples of assistive technologies support this expectation:

  • A screen reader might convey the group role.

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

This expectation is from the optgroup element feature.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromenone
  • Result: (fail)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: not conveyed
JAWSIEunknown-
JAWSFirefoxyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "meats, horizontal, chicken" and "steak 2 of 2"
    • Command Notes: optgroup semantics are conveyed when the listbox is expanded, but not collapsed. This matches the visual experience.
NarratorEdgepartial
  • Result: (partial)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: not conveyed
    • Result Notes: Posinset information may hint at optgroups but the name is never announced.
NVDAChromenone
  • Result: (fail)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: not conveyed
NVDAFirefoxyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Meats grouping. Chicken 1 of 2 level 2."
OrcaFirefoxnone
  • Result: (fail)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: not conveyed
TalkBackChromenone
  • Result: (fail)
    • command: Swipe right (Select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "meats"
    • 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)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safarinone
  • Result: (fail)
    • command: Swipe down (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "meats"
    • Result Notes: fail because there is no difference in the announcement of an option
VoiceOver (macOS)Safarinone
  • Result: (fail)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "meats, dimmed"
Windows Speech RecognitionChromenot applicable-

Extended Support for: optgroup element: convey its role

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWSEdgeunknown-
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
NVDAEdgeunknown-
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-
Windows Speech Recognition 1903Edge 44not applicable-
Back to top

Expectation for the optgroup element: convey the boundaries of the element

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

Strength of these expectations for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Examples of assistive technologies support this expectation:

  • 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.

This expectation is from the optgroup element feature.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromenone
  • Result: (fail)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: after target
    • Output: optgroup boundaries were not conveyed
JAWSIEpartial
  • Result: (partial)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: after target
    • Output: optgroup boundaries were not conveyed
    • Result Notes: optgroup name and boundaries are conveyed only when changing items while the listbox is collapsed.
JAWSFirefoxyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: after target
    • Output: implied by position information being announced "2 of 2"
NarratorEdgeyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: after target
    • Output: optgroup boundaries were conveyed by posinset info
NVDAChromenone
  • Result: (fail)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: after target
    • Output: optgroup boundaries were not conveyed
NVDAFirefoxyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: after target
    • Output: optgroup announced when entering, and position of options within optgroup convey boundaries.
OrcaFirefoxnone
  • Result: (fail)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: not conveyed
TalkBackChromenone
  • Result: (fail)
    • command: Swipe right (Select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: after target
    • Output: optgroup boundaries were not conveyed
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safarinone
  • Result: (fail)
    • command: Swipe down (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: after target
    • Output: optgroup boundaries were not conveyed
VoiceOver (macOS)Safarinone
  • Result: (fail)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: after target
    • Output: optgroup boundaries were not conveyed
Windows Speech RecognitionChromenot 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-
JAWSEdgeunknown-
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
NVDAEdgeunknown-
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-
Windows Speech Recognition 1903Edge 44not applicable-
Back to top

Expectation for the option element: convey its name

Rationale: A screen reader user needs to know what to enter.

Strength of these expectations for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: MUST

Examples of assistive technologies support this expectation:

  • 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.

This expectation is from the option element feature.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromepartial
  • Result: (partial)
    • command: "Choose <option text>" (Choose drop down option)
    • 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)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "chicken"
JAWSIEyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "chicken"
JAWSFirefoxyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "steak, 2 of 2"
NarratorEdgeyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "chicken, 1 of 2"
NVDAChromeyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "chicken, 3 of 8"
NVDAFirefoxyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "meats grouping, chicken 1 of 2 level 2"
OrcaFirefoxyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "chicken"
TalkBackChromeyes
  • Result: (pass)
    • command: Swipe right (Select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "steak, double tap to toggle"
Voice Access (Android)Chromeyes
  • Result: (pass)
    • command: "Tap <text>" or just "<text>" (Activate item by name)
    • Output: option was activated
    • Command Notes: said "tap banana"
Voice Control (iOS)Safarinone
  • Result: (fail)
    • command: "Show names" (Turn on the names overlay)
    • 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.
Voice Control (MacOS)Safariyes
  • Result: (pass)
    • command: "Click <text>" (Activate item by name)
    • Output: option was selected
    • Command Notes: said "click everything"
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • command: Swipe down (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "steak"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "steak"
Windows Speech RecognitionChromenone
  • Result: (fail)
    • command: "Click <text>" (Activate item by name)
    • Output: role was not activated
    • Command Notes: said "click chicken"

Extended Support for: option element: convey its name

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEunknown-
Dragon Naturally SpeakingFirefoxunknown-
JAWSEdgeunknown-
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
NVDAEdgeunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxunknown-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromeunknown-
Voice Control (MacOS)Firefoxunknown-
Windows Speech Recognition 1903Edge 44yes
  • Result: (pass)
    • command: "Click <text>" (Activate item by name)
    • Output: role was activated
    • Command Notes: said "click chicken"
Back to top

Expectation for the option element: convey its role

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 these expectations for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: MUST

Examples of assistive technologies support this expectation:

  • 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.

This expectation is from the option element feature.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromeyes
  • Result: (pass)
    • command: "Move down <n>" (Move down <n> options)
    • location after command: target
    • Output: value was changed to the next option
JAWSChromeyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "chicken"
JAWSIEyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "chicken"
JAWSFirefoxyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "steak, 2 of 2"
NarratorEdgeyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "chicken, 1 of 2"
NVDAChromeyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "chicken, 3 of 8"
NVDAFirefoxyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "meats grouping, chicken 1 of 2 level 2"
OrcaFirefoxyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "chicken"
TalkBackChromeyes
  • Result: (pass)
    • command: Swipe right (Select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "steak, double tap to toggle"
Voice Access (Android)Chromeyes
  • Result: (pass)
    • command: "Show numbers" (Turn on the numbers overlay)
    • Output: role was flagged with a number
    • Command Notes: said "show numbers"
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safariyes
  • Result: (pass)
    • command: "Show numbers" (Turn on the numbers overlay)
    • Output: role was flagged with a number
    • Command Notes: said "show numbers"
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • command: Swipe down (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "steak"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "steak"
Windows Speech RecognitionChromenone
  • Result: (fail)
    • command: "Show numbers" (Turn on the numbers overlay)
    • Output: role was not flagged with a number
    • Command Notes: said "show numbers"

Extended Support for: option element: convey its role

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEunknown-
Dragon Naturally SpeakingFirefoxunknown-
JAWSEdgeunknown-
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
NVDAEdgeunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxunknown-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromeunknown-
Voice Control (MacOS)Firefoxunknown-
Windows Speech Recognition 1903Edge 44yes
  • Result: (pass)
    • command: "Show numbers" (Turn on the numbers overlay)
    • Output: role was flagged with a number
    • Command Notes: said "show numbers"
Back to top

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

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

Strength of these expectations for different types of assistive technologies:

  • Screen Readers: MAY
  • Voice Control: NA

Examples of assistive technologies support this expectation:

  • 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.

This expectation is from the option element feature.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromenone
  • Result: (fail)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "chicken"
JAWSIEnone
  • Result: (fail)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "chicken"
JAWSFirefoxyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "steak, 2 of 2"
    • Result Notes: posinset information is only conveyed when the listbox is expanded and focus is on an option in greater than position 1 within an optgroup
NarratorEdgeyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "chicken, 1 of 2"
NVDAChromeyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • 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
NVDAFirefoxyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "meats grouping, chicken 1 of 2 level 2"
    • Result Notes: only conveyed when expanded (this matches visual experience)
Notes: only conveyed when expanded
OrcaFirefoxnone
  • Result: (fail)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "chicken"
TalkBackChromenone
  • Result: (fail)
    • command: Swipe right (Select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "steak, double tap to toggle"
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safaripartial
  • Result: (fail)
    • command: Swipe down (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "steak"
  • Result: (pass)
    • command: Tap or touch the item (select and speak an item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "apple, picker item, 2 of 7"
VoiceOver (macOS)Safarinone
  • Result: (fail)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "steak"
Windows Speech RecognitionChromenot 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-
JAWSEdgeunknown-
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
NVDAEdgeunknown-
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-
Windows Speech Recognition 1903Edge 44not applicable-
Back to top

Expectation for the select element: convey its name

Rationale: A screen reader user needs to know what to enter.

Strength of these expectations for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: MUST

Examples of assistive technologies support this expectation:

  • A screen reader might convey the name as "<role>, <name>, <value>"
  • 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.

This expectation is from the select element feature.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromeyes
  • Result: (pass)
    • command: "Click <text>" (Activate item by name)
    • Output: element was focused
JAWSChromeyes
  • Result: (pass)
    • command: Down arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Combo box, apple"
    • Result Notes: name is implied by reading order
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
JAWSIEyes
  • Result: (pass)
    • command: Down arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Combo box, apple"
    • Result Notes: name is implied by reading order
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
JAWSFirefoxyes
  • Result: (pass)
    • command: Down arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Combo box, apple"
    • Result Notes: name is implied by reading order
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
NarratorEdgeyes
  • Result: (pass)
    • command: Down arrow (Read next item (scan mode))
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, combobox, apple, collapsed"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, apple, combobox, collapsed"
NVDAChromeyes
  • Result: (pass)
    • command: down arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, combo box, collapsed, apple"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, combo box, apple, collapsed"
NVDAFirefoxyes
  • Result: (pass)
    • command: down arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "clickable, choose a food item, combo box, collapsed, apple"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, combo box, apple, collapsed"
OrcaFirefoxyes
  • Result: (pass)
    • command: down arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item apple, combo box"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, apple, combo box, focus mode"
TalkBackChromeyes
  • Result: (pass)
    • command: Swipe right (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "collapsed, apple, pop up button, Choose a food item, double tap to change"
Voice Access (Android)Chromenone
  • Result: (fail)
    • command: "Tap <text>" or just "<text>" (Activate item by name)
    • Output: select was not activated
    • Command Notes: said "tap Choose a food item"
Voice Control (iOS)Safariyes
  • Result: (pass)
    • command: "Tap <text>" (Activate item by name)
    • Output: input was focused
    • Command Notes: said "tap Choose a food item".
Voice Control (MacOS)Safariyes
  • Result: (pass)
    • command: "Click <text>" (Activate item by name)
    • Output: checkbox was checked
    • Command Notes: said "click Choose a food item"
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • command: Swipe Right (Next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, apple, pop up button"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • command: VO + Right arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "apple, Choose a food item, pop up button"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "apple, Choose a food item, pop up button"
Windows Speech RecognitionChromeyes
  • Result: (pass)
    • command: "Click <text>" (Activate item by name)
    • Output: role was activated
    • Command Notes: said "click choose a food item"

Extended Support for: select element: convey its name

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEunknown-
Dragon Naturally SpeakingFirefoxunknown-
JAWSEdgeunknown-
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
NVDAEdgeunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxunknown-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromeunknown-
Voice Control (MacOS)Firefoxunknown-
Windows Speech Recognition 1903Edge 44yes
  • Result: (pass)
    • command: "Click <text>" (Activate item by name)
    • Output: role was activated
    • Command Notes: said "click choose a food item"
Back to top

Expectation for the select element: convey its role

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 these expectations for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: MUST

Examples of assistive technologies support this expectation:

  • 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.

This expectation is from the select element feature.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromeyes
  • Result: (pass)
    • command: Click <role> (Click Type)
    • Output: element was focused
Notes: said "click list box"
JAWSChromeyes
  • Result: (pass)
    • command: Down arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Combo box, apple"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
JAWSIEyes
  • Result: (pass)
    • command: Down arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Combo box, apple"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
JAWSFirefoxyes
  • Result: (pass)
    • command: Down arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Combo box, apple"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
NarratorEdgeyes
  • Result: (pass)
    • command: Down arrow (Read next item (scan mode))
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, combobox, apple, collapsed"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, apple, combobox, collapsed"
NVDAChromeyes
  • Result: (pass)
    • command: down arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, combo box, collapsed, apple"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, combo box, apple, collapsed"
NVDAFirefoxyes
  • Result: (pass)
    • command: down arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "clickable, choose a food item, combo box, collapsed, apple"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, combo box, apple, collapsed"
OrcaFirefoxyes
  • Result: (pass)
    • command: down arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item apple, combo box"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, apple, combo box, focus mode"
TalkBackChromeyes
  • Result: (pass)
    • command: Swipe right (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "collapsed, apple, pop up button, Choose a food item, double tap to change"
Voice Access (Android)Chromeyes
  • Result: (pass)
    • command: "Show numbers" (Turn on the numbers overlay)
    • Output: role is flagged with a number
    • Command Notes: said "show numbers"
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safariyes
  • Result: (pass)
    • command: "Show numbers" (Turn on the numbers overlay)
    • Output: role was flagged with a number
    • Command Notes: said "show numbers"
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • command: Swipe Right (Next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, apple, pop up button"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • command: VO + Right arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "apple, Choose a food item, pop up button"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "apple, Choose a food item, pop up button"
Windows Speech RecognitionChromeyes
  • Result: (pass)
    • command: "Show numbers" (Turn on the numbers overlay)
    • Output: role was flagged with a number
    • Command Notes: said "show numbers"

Extended Support for: select element: convey its role

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEunknown-
Dragon Naturally SpeakingFirefoxunknown-
JAWSEdgeunknown-
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
NVDAEdgeunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxunknown-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromeunknown-
Voice Control (MacOS)Firefoxunknown-
Windows Speech Recognition 1903Edge 44yes
  • Result: (pass)
    • command: "Show numbers" (Turn on the numbers overlay)
    • Output: role was flagged with a number
    • Command Notes: said "show numbers"
Back to top

Expectation for the select element: convey the current value

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

Strength of these expectations for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Examples of assistive technologies support this expectation:

  • A screen reader might convey the name as "<role>, <name>, <value>"

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

This expectation is from the select element feature.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • command: Down arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Combo box, apple"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
JAWSIEyes
  • Result: (pass)
    • command: Down arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Combo box, apple"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
JAWSFirefoxyes
  • Result: (pass)
    • command: Down arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Combo box, apple"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
NarratorEdgeyes
  • Result: (pass)
    • command: Down arrow (Read next item (scan mode))
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, combobox, apple, collapsed"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, apple, combobox, collapsed"
NVDAChromeyes
  • Result: (pass)
    • command: down arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, combo box, collapsed, apple"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, combo box, apple, collapsed"
NVDAFirefoxyes
  • Result: (pass)
    • command: down arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "clickable, choose a food item, combo box, collapsed, apple"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, combo box, apple, collapsed"
OrcaFirefoxyes
  • Result: (pass)
    • command: down arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item apple, combo box"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, apple, combo box, focus mode"
TalkBackChromeyes
  • Result: (pass)
    • command: Swipe right (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "collapsed, apple, pop up button, Choose a food item, double tap to change"
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • command: Swipe Right (Next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, apple, pop up button"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • command: VO + Right arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "apple, Choose a food item, pop up button"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "apple, Choose a food item, pop up button"
Windows Speech RecognitionChromenot 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-
JAWSEdgeunknown-
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
NVDAEdgeunknown-
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-
Windows Speech Recognition 1903Edge 44not applicable-
Back to top

Expectation for the select element: convey changes in value

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

Strength of these expectations for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Examples of assistive technologies support this expectation:

  • 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.

This expectation is from the select element feature.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "banana"
JAWSIEyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "banana (fruits)"
JAWSFirefoxyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "steak"
NarratorEdgeyes
  • Result: (pass)
    • command: Enter (select an option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "banana, 2 of 2, selected"
NVDAChromeyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "banana, 2 of 8"
NVDAFirefoxyes
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, combo box, apple, collapsed"
OrcaFirefoxyes
  • Result: (pass)
    • command: Enter (select an option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item? everything, combobox, focus mode"
TalkBackChromeyes
  • Result: (pass)
    • command: Double tap (select an option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "collapsed, banana, popup button, Choose a food item"
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.
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • command: Double tap (select an option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, banana, 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)Safariyes
  • Result: (pass)
    • command: Enter (select an option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Closing menu, chicken, Choose a food item, pop up button"
Windows Speech RecognitionChromenot 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-
JAWSEdgeunknown-
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
NVDAEdgeunknown-
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-
Windows Speech Recognition 1903Edge 44not applicable-
Back to top

Expectation for the select element: convey the expanded and collapsed states

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

Strength of these expectations for different types of assistive technologies:

  • Screen Readers: SHOULD
  • Voice Control: NA

Examples of assistive technologies support this expectation:

  • 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.

This expectation is from the select element feature.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromenone
  • Result: (fail)
    • command: Down arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Combo box, apple"
  • Result: (fail)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
JAWSIEnone
  • Result: (fail)
    • command: Down arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Combo box, apple"
  • Result: (fail)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
JAWSFirefoxnone
  • Result: (fail)
    • command: Down arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Combo box, apple"
  • Result: (fail)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item? Combo box, apple, to change the selection use the arrow keys"
NarratorEdgeyes
  • Result: (pass)
    • command: Down arrow (Read next item (scan mode))
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, combobox, apple, collapsed"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, apple, combobox, collapsed"
NVDAChromeyes
  • Result: (pass)
    • command: down arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, combo box, collapsed, apple"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, combo box, apple, collapsed"
NVDAFirefoxyes
  • Result: (pass)
    • command: down arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "clickable, choose a food item, combo box, collapsed, apple"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, combo box, apple, collapsed"
OrcaFirefoxnone
  • Result: (fail)
    • command: down arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item apple, combo box"
  • Result: (fail)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, apple, combo box, focus mode"
TalkBackChromeyes
  • Result: (pass)
    • command: Swipe right (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "collapsed, apple, pop up button, Choose a food item, double tap to change"
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • command: Swipe Right (Next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, apple, pop up button"
Notes: implied by the pop up button
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • command: VO + Right arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "apple, Choose a food item, pop up button"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "apple, Choose a food item, pop up button"
Notes: Implied by the pop up button role
Windows Speech RecognitionChromenot 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-
JAWSEdgeunknown-
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
NVDAEdgeunknown-
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-
Windows Speech Recognition 1903Edge 44not applicable-
Back to top

Expectation for the select element: convey the boundaries of the options within the select

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

Strength of these expectations for different types of assistive technologies:

  • Screen Readers: SHOULD
  • Voice Control: NA

Examples of assistive technologies support this expectation:

  • A screen reader might convey the option name when enter thing select, 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.

This expectation is from the select element feature.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "banana"
JAWSIEyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "banana (fruits)"
JAWSFirefoxyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "steak"
NarratorEdgeyes
  • Result: (pass)
    • command: Up arrow (select previous option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "apple, 1 of 2"
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "everything, 4 of 6"
NVDAChromeyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "banana, 2 of 8"
  • Result: (pass)
    • command: Up arrow (select previous option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • 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)
    • command: Up arrow (select previous option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • 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)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: when expanded: "apple, 1 of 2, level 2"; when collapsed: implied by silence when trying to press down arrow to navigate to navigate past the last option.
OrcaFirefoxyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: implied by looping through list
TalkBackChromeyes
  • Result: (pass)
    • command: Swipe left (Select previous option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: start of target
    • Output: earcon indicates the boundary
  • Result: (pass)
    • command: Swipe right (Select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: end of target
    • Output: ear con
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • command: Swipe up (select previous option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: start of target
    • Output: first option was re-announced with an earcon
  • Result: (pass)
    • command: Swipe down (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: end of target
    • Output: last option was re-announced with an earcon
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • command: Down arrow (select next option)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: end of target
    • Output: loops through the menu with an earcon that conveys the end was reached
  • Result: (pass)
    • command: VO + Down arrow (Move VO cursor down)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: start of target
    • Output: earcon indicates start of list
  • Result: (pass)
    • command: VO + Down arrow (Move VO cursor down)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: end of target
    • Output: earcon indicates end of list
Windows Speech RecognitionChromenot 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-
JAWSEdgeunknown-
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
NVDAEdgeunknown-
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-
Windows Speech Recognition 1903Edge 44not applicable-
Back to top

Expectation for the select element: provide shortcuts to jump to this role

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

Strength of these expectations for different types of assistive technologies:

  • Screen Readers: SHOULD
  • Voice Control: NA

Examples of assistive technologies support this expectation:

  • 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.

This expectation is from the select element feature.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • command: f (Next form field)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, Combo box, apple"
  • Result: (pass)
    • command: Insert + F3 (Open element list)
    • before the command was executed
      • mode: auto (mode not explicitly)
    • Output: Shown in list of form fields
JAWSIEyes
  • Result: (pass)
    • command: f (Next form field)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, Combo box, apple"
  • Result: (pass)
    • command: Insert + F3 (Open element list)
    • before the command was executed
      • mode: auto (mode not explicitly)
    • Output: Shown in list of form fields
JAWSFirefoxyes
  • Result: (pass)
    • command: f (Next form field)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, Combo box, apple"
  • Result: (pass)
    • command: Insert + F3 (Open element list)
    • before the command was executed
      • mode: auto (mode not explicitly)
    • Output: Shown in list of form fields
NarratorEdgeyes
  • Result: (pass)
    • command: f (Next form field)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, apple, combobox, collapsed"
NVDAChromeyes
  • Result: (pass)
    • command: f (Next form field)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item? Combobox, collapsed, apple."
  • Result: (pass)
    • command: NVDA + F7 (Open Elements List)
    • before the command was executed
      • mode: auto (mode not explicitly)
    • Output: "in list of form fields"
NVDAFirefoxyes
  • Result: (pass)
    • command: f (Next form field)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item? Combobox, collapsed, apple"
  • Result: (pass)
    • command: NVDA + F7 (Open Elements List)
    • before the command was executed
      • mode: auto (mode not explicitly)
    • Output: "in list of form fields"
OrcaFirefoxyes
  • Result: (pass)
    • command: c (Next combo box (select))
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, apple, combo box"
  • Result: (pass)
    • command: alt + shift + c (Open a list of combo boxes (selects))
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: in list of combo boxes
TalkBackChromeyes
  • Result: (pass)
    • command: Swipe right (next control (correct item type must be selected))
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "collapsed, apple, pop up button, Choose a food item, double tap to change"
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • command: Swipe down (next form control (correct item type must be selected))
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "Choose a food item, apple, pop up button"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • command: VO + Command + J (Next Form Control)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "apple, Choose a food item pop up button"
  • Result: (pass)
    • command: VO + U (Open Rotor)
    • before the command was executed
      • mode: auto (mode not explicitly)
    • Output: in list of form controls
Windows Speech RecognitionChromenot 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-
JAWSEdgeunknown-
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
NVDAEdgeunknown-
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-
Windows Speech Recognition 1903Edge 44not applicable-
Back to top

Dates and Versions of tested combinations

ATAT VersionBrowserBrowser versionOS versionDate tested
Dragon Naturally Speaking15.30Chrome7519032019-08-08
JAWS2020.2001.70Chrome8019092020-02-20
JAWS2020.2001.70IE1119092020-02-20
JAWS2020.2001.70Firefox7319092020-02-20
Narrator1909Edge4419092020-02-20
NVDA2019.3.1Chrome8019092020-02-20
NVDA2019.3.1Firefox7319092020-02-20
Orca3.34.04Firefox73Ubuntu 19.102020-02-20
TalkBack8.1Chrome8072020-02-20
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)13.3.1Safari13.3.113.3.12020-02-20
VoiceOver (macOS)10.15.3Safari13.0.510.15.32020-02-20
Windows Speech Recognition1903Chrome7719032019-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.