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

Test: The html required attribute on each HTML radio button in a fieldset

Screen Reader support level: partial (111/121)

Voice Control support level: supported with 4 unknown results

On this page

About this test

This test checks the html required attribute as applied to each HTML radio button in a fieldset. Some general notes:

  • The HTML spec suggests that it is okay to place the required attribute on only one of the radio buttons, however, only that radio button will be conveyed as required. Other radio buttons in the group will not be conveyed as required, and if screen reader user jumps to a radio button that doesn't have a required attribute then the requiredness might of the group might be missed.
  • Currently, the most robust solution to mark a group of radio buttons as required is to place the text 'required' in the group label.
  • In most screen readers, this technique will result in the required state being conveyed for each radio in the group. Some users might find this confusing since only one radio can be selected at a time.
Submit new test results

Age of results

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

Caution

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

Test HTML

Open the test case HTML file
<!DOCTYPE html>
<html lang="en">
<head>
    <title>HTML required attribute on radio buttons within a fieldset</title>
</head>
<body>
<h1>HTML required attribute example on radio buttons</h1>
<p>This page contains HTML radio buttons in a fieldset with with the required attribute</p>

<fieldset>
    <legend>Animal</legend>
    <input type="radio" name="animal" value="cat" id="cat" required><label for="cat">Cat</label>
    <input type="radio" name="animal" value="dog" id="dog" required><label for="dog">Dog</label>
    <input type="radio" name="animal" value="catdog" id="catdog" required><label for="catdog">CatDog</label>
</fieldset>

<button>submit</button>

</body>
</html>

Summary of Screen Reader support by expectation

fieldset element
ExpectationJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
MUST convey its namesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
MUST convey its rolesupportedsupportedsupportednonesupportedsupportedsupportedsupportednonesupportedsupported
MUST convey the boundaries of the elementsupportedsupportedsupportednonesupportedsupportedpartialsupportednonepartialsupported
input[type="radio"] element
ExpectationJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
MUST convey its namesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
MUST convey its rolesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
MUST convey a change in the checked statesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
MUST convey the position in set informationsupportedsupportedsupportedsupportedsupportedsupportedsupportednonenonesupportedsupported
MUST convey the checked statesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
MUST convey the unchecked statesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
SHOULD provide shortcuts to jump to this rolesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
legend element
ExpectationJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
MUST convey its namesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
required attribute
ExpectationJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
MUST convey the property applied to: input[type="radio"] elementsupportedsupportedsupportedsupportedsupportedsupportedsupportednonenonesupportedsupported
MAY convey the invalid state when empty applied to: input[type="radio"] elementsupportedsupportedsupportedsupportedsupportedsupportedsupportednonenonenonenone

* means that some support is hidden behind settings

Summary of Voice Control support by expectation

fieldset element
ExpectationDragon Naturally SpeakingVoice Access (Android)Voice Control (iOS)Voice Control (MacOS)Windows Speech RecognitionWindows Voice Access
ChromeChromeSafariSafariEdgeChromeEdgeChrome
Not applicable
input[type="radio"] element
ExpectationDragon Naturally SpeakingVoice Access (Android)Voice Control (iOS)Voice Control (MacOS)Windows Speech RecognitionWindows Voice Access
ChromeChromeSafariSafariEdgeChromeEdgeChrome
MUST convey its namesupportedsupportedsupportedsupportedsupportedsupportedunknownunknown
MUST convey its rolesupportedsupportednot applicablesupportedsupportedsupportedunknownunknown
legend element
ExpectationDragon Naturally SpeakingVoice Access (Android)Voice Control (iOS)Voice Control (MacOS)Windows Speech RecognitionWindows Voice Access
ChromeChromeSafariSafariEdgeChromeEdgeChrome
Not applicable
required attribute
ExpectationDragon Naturally SpeakingVoice Access (Android)Voice Control (iOS)Voice Control (MacOS)Windows Speech RecognitionWindows Voice Access
ChromeChromeSafariSafariEdgeChromeEdgeChrome
Not applicable

* means that some support is hidden behind settings

Summary of Keyboard support by expectation

fieldset element
ExpectationWindows KeyboardMac KeyboardiOS KeyboardAndroid Keyboard
ChromeFirefoxEdgeChromeSafariSafariChrome
Not applicable
input[type="radio"] element
ExpectationWindows KeyboardMac KeyboardiOS KeyboardAndroid Keyboard
ChromeFirefoxEdgeChromeSafariSafariChrome
Not applicable
legend element
ExpectationWindows KeyboardMac KeyboardiOS KeyboardAndroid Keyboard
ChromeFirefoxEdgeChromeSafariSafariChrome
Not applicable
required attribute
ExpectationWindows KeyboardMac KeyboardiOS KeyboardAndroid Keyboard
ChromeFirefoxEdgeChromeSafariSafariChrome
Not applicable

* means that some support is hidden behind settings

Detailed support results by expectation

Expectation for the fieldset element: convey its name

This expectation is from the fieldset element feature.

Rationale:

A screen reader user needs to know what to enter.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Examples:

  • A screen reader might convey the fieldset as "<role> <name-from-legend>"

Grading method:

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

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, CatDog radio button, not checked, required, invalid entry, 3 of 3"
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "group start, animal"
  • Result: (fail)
    • Test Case: Use Up arrow (Read previous item) to navigate backwards to the end of `fieldset`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "group end"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, CatDog radio button, not checked, required, invalid entry, 3 of 3"
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "group start, animal"
  • Result: (fail)
    • Test Case: Use Up arrow (Read previous item) to navigate backwards to the end of `fieldset`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "group end"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "group start, animal"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `fieldset`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal, cat, radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (fail)
    • Test Case: Use Up arrow (Read previous item) to navigate backwards to the end of `fieldset`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "group end"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards into `fieldset`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal, CatDog, radio button, not checked, required, invalid entry, 3 of 3"
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Jump to next item (scan mode)) to navigate forward to the start of `fieldset`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Jump to next item (scan mode))
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "animal"
  • Result: (fail)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `fieldset`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, non-selected, required, invalid, 1 of 3"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (fail)
    • Test Case: Use Up arrow (Jump to previous item (scan mode)) to navigate backwards to the end of `fieldset`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Jump to previous item (scan mode))
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "CatDog"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (fail)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards into `fieldset`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "CatDog, radio button, non-selected, required, invalid, 3 of 3"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (fail)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "grouping, radio button, not checked, required, invalid entry, Cat, radio button, not checked, required, invalid entry, dog, radio button, not checked, required, invalid entry, CatDog"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, catdog, radio button, not checked, required, invalid entry, 3 of 3"
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "grouping, animal"
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (fail)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "grouping, radio button, not checked, required, invalid entry, Cat, radio button, not checked, required, invalid entry, dog, radio button, not checked, required, invalid entry, CatDog"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, catdog, radio button, not checked, required, invalid entry, 3 of 3"
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "grouping, animal"
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "Animal"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `fieldset`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (fail)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to the end of `fieldset`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "radio button, not checked, required, clickable, Cat, radio button, not checked, required, invalid entry, clickable, CatDog"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards into `fieldset`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "Animal panel"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `fieldset`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "animal panel, cat, not selected, radio button."
  • Result: (pass)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to the end of `fieldset`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "leaving animal panel, Cat, not selected, radio button. Dog, not selected, radio button. CatDog, not selected, radio button."
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards into `fieldset`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal panel, catdog, not selected, radio button."
TalkBackChromeyes
  • Result: (pass)
    • Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward into `fieldset`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (or alt+right arrow) (Read next item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "animal"
  • Result: (fail)
    • Test Case: Use Swipe left (or alt+left arrow) (Read previous item) to navigate backwards into `fieldset`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe left (or alt+left arrow) (Read previous item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "not checked, CatDog, radio button"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Swipe Right (Next item) to navigate forward into `fieldset`
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Right (Next item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "animal, form start"
  • Result: (pass)
    • Test Case: Use Swipe Left (Previous item) to navigate backwards into `fieldset`
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Left (Previous item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "animal, CatDog, radio button, unchecked, 3 of 3, required"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use VO + Right arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Right arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "animal, group"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `fieldset`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Cat, required, radio button, 1 of 3, animal, animal group"
  • Result: (pass)
    • Test Case: Use VO + Left Arrow (Read previous item) to navigate backwards to the end of `fieldset`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Left Arrow (Read previous item)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "end of animal, group"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards into `fieldset`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "CatDog, required, radio button, 3 of 3, animal, animal group"
Windows Speech RecognitionEdgenot applicable-
Windows Speech RecognitionChromenot applicable-
Windows Voice AccessEdgenot applicable-
Windows Voice AccessChromenot applicable-
Windows KeyboardChromenot applicable-
Windows KeyboardFirefoxnot applicable-
Windows KeyboardEdgenot applicable-
Mac KeyboardChromenot applicable-
Mac KeyboardSafarinot applicable-
iOS KeyboardSafarinot applicable-
Android KeyboardChromenot applicable-

Extended Support for: fieldset element: convey its name

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2019.1906.10IE 11yes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "group start, animal"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `fieldset`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal, cat, radio button, not checked, required"
  • Result: (fail)
    • Test Case: Use Up arrow (Read previous item) to navigate backwards to the end of `fieldset`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "group end"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards into `fieldset`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal, CatDog, radio button, not checked, required"
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxnot applicable-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromenot applicable-
Voice Control (MacOS)Firefoxnot applicable-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Expectation for the fieldset element: convey its role

This expectation is from the fieldset element feature.

Rationale:

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

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Examples:

  • A screen reader might announce an element as something like "<name>, <role>"
  • A screen reader might imply the role by the presence of certain context roles
  • Voice Control software might let the user say something like "click, <role>".
  • Voice Control software might let the user say something like "show numbers", and interactive roles will be flagged with numbers.

Grading method:

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

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, CatDog radio button, not checked, required, invalid entry, 3 of 3"
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "group start, animal"
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate backwards to the end of `fieldset`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "group end"
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, CatDog radio button, not checked, required, invalid entry, 3 of 3"
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "group start, animal"
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate backwards to the end of `fieldset`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "group end"
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "group start, animal"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `fieldset`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal, cat, radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate backwards to the end of `fieldset`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "group end"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards into `fieldset`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal, CatDog, radio button, not checked, required, invalid entry, 3 of 3"
NarratorEdgenone
  • Result: (fail)
    • Test Case: Use Down arrow (Jump to next item (scan mode)) to navigate forward to the start of `fieldset`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Jump to next item (scan mode))
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "animal"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (fail)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `fieldset`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, non-selected, required, invalid, 1 of 3"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (fail)
    • Test Case: Use Up arrow (Jump to previous item (scan mode)) to navigate backwards to the end of `fieldset`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Jump to previous item (scan mode))
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "CatDog"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (fail)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards into `fieldset`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "CatDog, radio button, non-selected, required, invalid, 3 of 3"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "grouping, radio button, not checked, required, invalid entry, Cat, radio button, not checked, required, invalid entry, dog, radio button, not checked, required, invalid entry, CatDog"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, catdog, radio button, not checked, required, invalid entry, 3 of 3"
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "grouping, animal"
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "grouping, radio button, not checked, required, invalid entry, Cat, radio button, not checked, required, invalid entry, dog, radio button, not checked, required, invalid entry, CatDog"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, catdog, radio button, not checked, required, invalid entry, 3 of 3"
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "grouping, animal"
NVDAFirefoxyes
  • Result: (fail)
    • Test Case: Use down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "Animal"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `fieldset`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (fail)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to the end of `fieldset`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "radio button, not checked, required, clickable, Cat, radio button, not checked, required, invalid entry, clickable, CatDog"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards into `fieldset`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "Animal panel"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `fieldset`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "animal panel, cat, not selected, radio button."
  • Result: (pass)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to the end of `fieldset`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "leaving animal panel, Cat, not selected, radio button. Dog, not selected, radio button. CatDog, not selected, radio button."
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards into `fieldset`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal panel, catdog, not selected, radio button."
TalkBackChromenone
  • Result: (fail)
    • Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward into `fieldset`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (or alt+right arrow) (Read next item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "animal"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (fail)
    • Test Case: Use Swipe left (or alt+left arrow) (Read previous item) to navigate backwards into `fieldset`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe left (or alt+left arrow) (Read previous item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "not checked, CatDog, radio button"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Swipe Right (Next item) to navigate forward into `fieldset`
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Right (Next item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "animal, form start"
  • Result: (pass)
    • Test Case: Use Swipe Left (Previous item) to navigate backwards into `fieldset`
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Left (Previous item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "animal, CatDog, radio button, unchecked, 3 of 3, required"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use VO + Right arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Right arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "animal, group"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `fieldset`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Cat, required, radio button, 1 of 3, animal, animal group"
  • Result: (pass)
    • Test Case: Use VO + Left Arrow (Read previous item) to navigate backwards to the end of `fieldset`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Left Arrow (Read previous item)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "end of animal, group"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards into `fieldset`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "CatDog, required, radio button, 3 of 3, animal, animal group"
Windows Speech RecognitionEdgenot applicable-
Windows Speech RecognitionChromenot applicable-
Windows Voice AccessEdgenot applicable-
Windows Voice AccessChromenot applicable-
Windows KeyboardChromenot applicable-
Windows KeyboardFirefoxnot applicable-
Windows KeyboardEdgenot applicable-
Mac KeyboardChromenot applicable-
Mac KeyboardSafarinot applicable-
iOS KeyboardSafarinot applicable-
Android KeyboardChromenot applicable-

Extended Support for: fieldset element: convey its role

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2019.1906.10IE 11yes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "group start, animal"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `fieldset`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal, cat, radio button, not checked, required"
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate backwards to the end of `fieldset`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "group end"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards into `fieldset`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal, CatDog, radio button, not checked, required"
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxnot applicable-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromenot applicable-
Voice Control (MacOS)Firefoxnot applicable-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

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

This expectation is from the fieldset element feature.

Rationale:

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

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Examples:

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

Grading method:

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

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, CatDog radio button, not checked, required, invalid entry, 3 of 3"
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "group start, animal"
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate backwards to the end of `fieldset`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "group end"
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, CatDog radio button, not checked, required, invalid entry, 3 of 3"
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "group start, animal"
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate backwards to the end of `fieldset`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "group end"
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "group start, animal"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `fieldset`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal, cat, radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate backwards to the end of `fieldset`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "group end"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards into `fieldset`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal, CatDog, radio button, not checked, required, invalid entry, 3 of 3"
NarratorEdgenone
  • Result: (fail)
    • Test Case: Use Down arrow (Jump to next item (scan mode)) to navigate forward to the start of `fieldset`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Jump to next item (scan mode))
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "animal"
  • Result: (fail)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `fieldset`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, non-selected, required, invalid, 1 of 3"
  • Result: (fail)
    • Test Case: Use Up arrow (Jump to previous item (scan mode)) to navigate backwards to the end of `fieldset`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Jump to previous item (scan mode))
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "CatDog"
  • Result: (fail)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards into `fieldset`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "CatDog, radio button, non-selected, required, invalid, 3 of 3"
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "grouping, radio button, not checked, required, invalid entry, Cat, radio button, not checked, required, invalid entry, dog, radio button, not checked, required, invalid entry, CatDog"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, catdog, radio button, not checked, required, invalid entry, 3 of 3"
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "grouping, animal"
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "grouping, radio button, not checked, required, invalid entry, Cat, radio button, not checked, required, invalid entry, dog, radio button, not checked, required, invalid entry, CatDog"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, catdog, radio button, not checked, required, invalid entry, 3 of 3"
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "grouping, animal"
NVDAFirefoxpartial
  • Result: (fail)
    • Test Case: Use down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "Animal"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `fieldset`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (fail)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to the end of `fieldset`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "radio button, not checked, required, clickable, Cat, radio button, not checked, required, invalid entry, clickable, CatDog"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards into `fieldset`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "Animal panel"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `fieldset`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "animal panel, cat, not selected, radio button."
  • Result: (pass)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to the end of `fieldset`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "leaving animal panel, Cat, not selected, radio button. Dog, not selected, radio button. CatDog, not selected, radio button."
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards into `fieldset`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal panel, catdog, not selected, radio button."
TalkBackChromenone
  • Result: (fail)
    • Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward into `fieldset`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (or alt+right arrow) (Read next item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "animal"
  • Result: (fail)
    • Test Case: Use Swipe left (or alt+left arrow) (Read previous item) to navigate backwards into `fieldset`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe left (or alt+left arrow) (Read previous item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "not checked, CatDog, radio button"
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safaripartial
  • Result: (pass)
    • Test Case: Use Swipe Right (Next item) to navigate forward into `fieldset`
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Right (Next item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "animal, form start"
  • Result: (pass)
    • Test Case: Use Swipe Left (Previous item) to navigate backwards into `fieldset`
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Left (Previous item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "animal, CatDog, radio button, unchecked, 3 of 3, required"
  • Result: (fail)
    • Test Case: Use Swipe Right (Next item) to navigate forwards out of `fieldset`
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: within target
        • Keyboard focus is: within target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Right (Next item)
        • After issuing the command, virtual focus should be: after target
      6. Record results for the relevant expectations
    • Output: "submit, button"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use VO + Right arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Right arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "animal, group"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `fieldset`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Cat, required, radio button, 1 of 3, animal, animal group"
  • Result: (pass)
    • Test Case: Use VO + Left Arrow (Read previous item) to navigate backwards to the end of `fieldset`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Left Arrow (Read previous item)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "end of animal, group"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards into `fieldset`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "CatDog, required, radio button, 3 of 3, animal, animal group"
Windows Speech RecognitionEdgenot applicable-
Windows Speech RecognitionChromenot applicable-
Windows Voice AccessEdgenot applicable-
Windows Voice AccessChromenot applicable-
Windows KeyboardChromenot applicable-
Windows KeyboardFirefoxnot applicable-
Windows KeyboardEdgenot applicable-
Mac KeyboardChromenot applicable-
Mac KeyboardSafarinot applicable-
iOS KeyboardSafarinot applicable-
Android KeyboardChromenot applicable-

Extended Support for: fieldset element: convey the boundaries of the element

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2019.1906.10IE 11yes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "group start, animal"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `fieldset`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal, cat, radio button, not checked, required"
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate backwards to the end of `fieldset`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "group end"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards into `fieldset`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal, CatDog, radio button, not checked, required"
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxnot applicable-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromenot applicable-
Voice Control (MacOS)Firefoxnot applicable-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Expectation for the input[type="radio"] element: convey its name

This expectation is from the input[type="radio"] element feature.

Rationale:

A screen reader user needs to know what to enter.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: MUST

Examples:

  • A screen reader will announce the name (label).
  • Voice control software will let the user say something like "click <name>" to activate the control.

Grading method:

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

Notes:

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

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromeyes
  • Result: (pass)
    • Test Case: Use "Click <text>" (Activate item by name)
      1. Launch Dragon Naturally Speaking and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Issue the command: "Click <text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output: radio was checked
    • Command Notes: said "click cat"
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, cat radio button, not checked, required, invalid entry, 1 of 3"
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, cat radio button, not checked, required, invalid entry, 1 of 3"
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `input[type="radio"]`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"]`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal, cat radio button, not checked, required, invalid entry, 1 of 3"
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Jump to next item (scan mode)) to navigate forward to the start of `input[type="radio"]`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Jump to next item (scan mode))
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, non-selected, required, invalid, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `input[type="radio"]`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, non-selected, required, invalid, 1 of 3"
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "radio button, not checked, required, invalid entry, Cat, radio button, not checked, required, invalid entry, Dog, radio button, not checked, required, invalid entry, CatDog"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "radio button, not checked, required, invalid entry, Cat, radio button, not checked, required, invalid entry, Dog, radio button, not checked, required, invalid entry, CatDog"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `input[type="radio"]`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "radio button, not checked, required, invalid entry, clickable, Cat, radio button, not checked, required, invalid entry, clickable, CatDog"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"]`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `input[type="radio"]`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Cat, not selected, radio button. Dog, not selected, radio button. CatDog, not selected, radio button."
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"]`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "animal panel, cat, not selected, radio button."
TalkBackChromeyes
  • Result: (pass)
    • Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `input[type="radio"]`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (or alt+right arrow) (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "not checked, cat, radio button. double tap to toggle."
Voice Access (Android)Chromeyes
  • Result: (pass)
    • Test Case: Use "Tap <text>" or just "<text>" (Activate item by name)
      1. Launch Voice Access (Android) and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Issue the command: "Tap <text>" or just "<text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output: radio button was checked
    • Command Notes: said "tap cat"
Voice Control (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use "Tap <text>" (Activate item by name)
      1. Launch Voice Control (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Issue the command: "Tap <text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output: radio was checked
    • Command Notes: said "tap cat"
Voice Control (MacOS)Safariyes
  • Result: (pass)
    • Test Case: Use "Click <text>" (Activate item by name)
      1. Launch Voice Control (MacOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Issue the command: "Click <text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output: checkbox was checked
    • Command Notes: said "click cat". The correct radio button was flagged for disambiguation, but only a single number was displayed. Had to say "choose 2" in order to complete the task.
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Swipe Right (Next item) to navigate forward to `input[type="radio"]`
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Right (Next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, unchecked, 1 of 3, required"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use VO + Right arrow (Read next item) to navigate forward to `input[type="radio"]`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Right arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat, required, radio button, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"]`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Cat required, radio button, 1 of 3, animal, animal group"
Windows Speech RecognitionEdgeyes
  • Result: (pass)
    • Test Case: Use "Click <text>" (Activate item by name)
      1. Launch Windows Speech Recognition and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Issue the command: "Click <text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output: role was activated
    • Command Notes: said "click cat"
Windows Speech RecognitionChromeyes
  • Result: (pass)
    • Test Case: Use "Click <text>" (Activate item by name)
      1. Launch Windows Speech Recognition and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Issue the command: "Click <text>" (Activate item by name)
      5. Record results for the relevant expectations
    • Output: role was activated
    • Command Notes: said "click cat"
Windows Voice AccessEdgeunknown-
Windows Voice AccessChromeunknown-
Windows KeyboardChromenot applicable-
Windows KeyboardFirefoxnot applicable-
Windows KeyboardEdgenot applicable-
Mac KeyboardChromenot applicable-
Mac KeyboardSafarinot applicable-
iOS KeyboardSafarinot applicable-
Android KeyboardChromenot applicable-

Extended Support for: input[type="radio"] element: convey its name

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEunknown-
Dragon Naturally SpeakingFirefoxunknown-
JAWS 2019.1906.10IE 11yes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `input[type="radio"]`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"]`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal, cat radio button, not checked, required"
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxunknown-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromeunknown-
Voice Control (MacOS)Firefoxunknown-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Expectation for the input[type="radio"] element: convey its role

This expectation is from the input[type="radio"] element feature.

Rationale:

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

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: MUST

Examples:

  • A screen reader might be announce the role as "radio"
  • Voice control software will let the user say something like "click radio" to focus a the input or flag the role with a number.

Grading method:

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

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromeyes
  • Result: (pass)
    • Test Case: Use Click <role> (Click Type)
      1. Launch Dragon Naturally Speaking and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Issue the command: Click <role> (Click Type)
      5. Record results for the relevant expectations
    • Output: all radios were flagged for selection
    • Command Notes: said "click radio"
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, cat radio button, not checked, required, invalid entry, 1 of 3"
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, cat radio button, not checked, required, invalid entry, 1 of 3"
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `input[type="radio"]`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"]`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal, cat radio button, not checked, required, invalid entry, 1 of 3"
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Jump to next item (scan mode)) to navigate forward to the start of `input[type="radio"]`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Jump to next item (scan mode))
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, non-selected, required, invalid, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `input[type="radio"]`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, non-selected, required, invalid, 1 of 3"
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "radio button, not checked, required, invalid entry, Cat, radio button, not checked, required, invalid entry, Dog, radio button, not checked, required, invalid entry, CatDog"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "radio button, not checked, required, invalid entry, Cat, radio button, not checked, required, invalid entry, Dog, radio button, not checked, required, invalid entry, CatDog"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `input[type="radio"]`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "radio button, not checked, required, invalid entry, clickable, Cat, radio button, not checked, required, invalid entry, clickable, CatDog"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"]`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `input[type="radio"]`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Cat, not selected, radio button. Dog, not selected, radio button. CatDog, not selected, radio button."
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"]`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "animal panel, cat, not selected, radio button."
TalkBackChromeyes
  • Result: (pass)
    • Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `input[type="radio"]`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (or alt+right arrow) (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "not checked, cat, radio button. double tap to toggle."
Voice Access (Android)Chromeyes
  • Result: (pass)
    • Test Case: Use "Show numbers" (Turn on the numbers overlay)
      1. Launch Voice Access (Android) and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Issue the command: "Show numbers" (Turn on the numbers overlay)
      5. Record results for the relevant expectations
    • Output: role is flagged with a number
    • Command Notes: said "show numbers"
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safariyes
  • Result: (pass)
    • Test Case: Use "Show numbers" (Turn on the numbers overlay)
      1. Launch Voice Control (MacOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Issue the command: "Show numbers" (Turn on the numbers overlay)
      5. Record results for the relevant expectations
    • Output: role is flagged with a number
    • Command Notes: said "show numbers"
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Swipe Right (Next item) to navigate forward to `input[type="radio"]`
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Right (Next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, unchecked, 1 of 3, required"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use VO + Right arrow (Read next item) to navigate forward to `input[type="radio"]`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Right arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat, required, radio button, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"]`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Cat required, radio button, 1 of 3, animal, animal group"
Windows Speech RecognitionEdgeyes
  • Result: (pass)
    • Test Case: Use "Show numbers" (Turn on the numbers overlay)
      1. Launch Windows Speech Recognition and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Issue the command: "Show numbers" (Turn on the numbers overlay)
      5. Record results for the relevant expectations
    • Output: role was flagged with a number
    • Command Notes: said "show numbers"
Windows Speech RecognitionChromeyes
  • Result: (pass)
    • Test Case: Use "Show numbers" (Turn on the numbers overlay)
      1. Launch Windows Speech Recognition and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Issue the command: "Show numbers" (Turn on the numbers overlay)
      5. Record results for the relevant expectations
    • Output: role was flagged with a number
    • Command Notes: said "show numbers"
Windows Voice AccessEdgeunknown-
Windows Voice AccessChromeunknown-
Windows KeyboardChromenot applicable-
Windows KeyboardFirefoxnot applicable-
Windows KeyboardEdgenot applicable-
Mac KeyboardChromenot applicable-
Mac KeyboardSafarinot applicable-
iOS KeyboardSafarinot applicable-
Android KeyboardChromenot applicable-

Extended Support for: input[type="radio"] element: convey its role

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEunknown-
Dragon Naturally SpeakingFirefoxunknown-
JAWS 2019.1906.10IE 11yes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `input[type="radio"]`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"]`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal, cat radio button, not checked, required"
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxunknown-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromeunknown-
Voice Control (MacOS)Firefoxunknown-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Expectation for the input[type="radio"] element: convey a change in the checked state

This expectation is from the input[type="radio"] element feature.

Rationale:

A screen reader user needs to know if the checkbox is checked

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Examples:

  • A screen reader might announce "checked" or "not checked"
  • A screen reader might announce the entire control again with the new state

Grading method:

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

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Space (Activate Form Control) on the target of `input[type="radio"]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Space (Activate Form Control)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, checked, required, 1 of 3"
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Space (Activate Form Control) on the target of `input[type="radio"]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Space (Activate Form Control)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, checked, required, 1 of 3"
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Space (Activate Form Control) on the target of `input[type="radio"]`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Space (Activate Form Control)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, checked, required, 1 of 3"
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Space (Activate Form Control) on the target of `input[type="radio"]`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Space (Activate Form Control)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: earcon was conveyed
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use Space (Activate Form Control) on the target of `input[type="radio"]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Space (Activate Form Control)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "checked"
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use Space (Activate Form Control) on the target of `input[type="radio"]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Space (Activate Form Control)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "checked"
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use Space (Activate Form Control) on the target of `input[type="radio"]`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Space (Activate Form Control)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "checked"
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use Space (Activate Form Control) on the target of `input[type="radio"]`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Space (Activate Form Control)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "selected"
TalkBackChromeyes
  • Result: (pass)
    • Test Case: Use double tap (Activate form control) on the target of `input[type="radio"]`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: double tap (Activate form control)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "checked"
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Double tap (Activate Form Control) on the target of `input[type="radio"]`
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Double tap (Activate Form Control)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "checked"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use Space (Activate Form Control) on the target of `input[type="radio"]`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Keyboard focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Space (Activate Form Control)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "required, selected, cat, radio button, 1 of 3"
Windows Speech RecognitionEdgenot applicable-
Windows Speech RecognitionChromenot applicable-
Windows Voice AccessEdgenot applicable-
Windows Voice AccessChromenot applicable-
Windows KeyboardChromenot applicable-
Windows KeyboardFirefoxnot applicable-
Windows KeyboardEdgenot applicable-
Mac KeyboardChromenot applicable-
Mac KeyboardSafarinot applicable-
iOS KeyboardSafarinot applicable-
Android KeyboardChromenot applicable-

Extended Support for: input[type="radio"] element: convey a change in the checked state

These are less common combinations

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

Expectation for the input[type="radio"] element: convey the position in set information

This expectation is from the input[type="radio"] element feature.

Rationale:

A user needs to where the position is in the list

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Examples:

  • A screen reader might something like "1 of 6".

Grading method:

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

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, cat radio button, not checked, required, invalid entry, 1 of 3"
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, cat radio button, not checked, required, invalid entry, 1 of 3"
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `input[type="radio"]`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"]`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal, cat radio button, not checked, required, invalid entry, 1 of 3"
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Jump to next item (scan mode)) to navigate forward to the start of `input[type="radio"]`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Jump to next item (scan mode))
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, non-selected, required, invalid, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `input[type="radio"]`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, non-selected, required, invalid, 1 of 3"
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "radio button, not checked, required, invalid entry, Cat, radio button, not checked, required, invalid entry, Dog, radio button, not checked, required, invalid entry, CatDog"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "radio button, not checked, required, invalid entry, Cat, radio button, not checked, required, invalid entry, Dog, radio button, not checked, required, invalid entry, CatDog"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `input[type="radio"]`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "radio button, not checked, required, invalid entry, clickable, Cat, radio button, not checked, required, invalid entry, clickable, CatDog"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"]`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
OrcaFirefoxnone
  • Result: (fail)
    • Test Case: Use down arrow (Read next item) to navigate forward to `input[type="radio"]`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Cat, not selected, radio button. Dog, not selected, radio button. CatDog, not selected, radio button."
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (fail)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"]`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "animal panel, cat, not selected, radio button."
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
TalkBackChromenone
  • Result: (fail)
    • Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `input[type="radio"]`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (or alt+right arrow) (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "not checked, cat, radio button. double tap to toggle."
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Swipe Right (Next item) to navigate forward to `input[type="radio"]`
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Right (Next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, unchecked, 1 of 3, required"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use VO + Right arrow (Read next item) to navigate forward to `input[type="radio"]`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Right arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat, required, radio button, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"]`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Cat required, radio button, 1 of 3, animal, animal group"
Windows Speech RecognitionEdgenot applicable-
Windows Speech RecognitionChromenot applicable-
Windows Voice AccessEdgenot applicable-
Windows Voice AccessChromenot applicable-
Windows KeyboardChromenot applicable-
Windows KeyboardFirefoxnot applicable-
Windows KeyboardEdgenot applicable-
Mac KeyboardChromenot applicable-
Mac KeyboardSafarinot applicable-
iOS KeyboardSafarinot applicable-
Android KeyboardChromenot applicable-

Extended Support for: input[type="radio"] element: convey the position in set information

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2019.1906.10IE 11none
  • Result: (fail)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `input[type="radio"]`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required"
  • Result: (fail)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"]`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal, cat radio button, not checked, required"
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxnot applicable-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromenot applicable-
Voice Control (MacOS)Firefoxnot applicable-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Expectation for the input[type="radio"] element: convey the checked state

This expectation is from the input[type="radio"] element feature.

Rationale:

A screen reader user needs to know if the checkbox is checked

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Examples:

  • A screen reader might announce "checked"

Grading method:

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

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `input[type="radio"][checked]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"][checked]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, checked, required, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"][checked]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"][checked]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal, cat radio button, checked, required, 1 of 3"
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `input[type="radio"][checked]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"][checked]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, checked, required, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"][checked]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"][checked]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal, cat radio button, checked, required, 1 of 3"
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `input[type="radio"][checked]`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"][checked]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, checked, required, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"][checked]`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"][checked]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal, cat radio button, checked, required, 1 of 3"
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Jump to next item (scan mode)) to navigate forward to the start of `input[type="radio"][checked]`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"][checked]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Jump to next item (scan mode))
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, selected, required, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `input[type="radio"][checked]`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"][checked]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, selected, required, 1 of 3"
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `input[type="radio"][checked]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"][checked]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "radio button, checked, required, Cat, radio button, not checked, required, invalid entry, dog, radio button, not checked, required, invalid entry, CatDog"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"][checked]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"][checked]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, checked, required, 1 of 3"
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `input[type="radio"][checked]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"][checked]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "radio button, checked, required, Cat, radio button, not checked, required, invalid entry, dog, radio button, not checked, required, invalid entry, CatDog"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"][checked]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"][checked]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, checked, required, 1 of 3"
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `input[type="radio"][checked]`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"][checked]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "radio button, checked, required, clickable, Cat, radio button, not checked, required, clickable, CatDog"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"][checked]`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"][checked]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, checked, required, 1 of 3"
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `input[type="radio"][checked]`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"][checked]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Cat, selected, radio button. Dog, not selected, radio button. CatDog, not selected, radio button."
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"][checked]`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"][checked]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "animal panel, cat, selected, radio button."
TalkBackChromeyes
  • Result: (pass)
    • Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `input[type="radio"][checked]`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"][checked]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (or alt+right arrow) (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "checked, cat, radio button. double tap to toggle."
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Swipe Right (Next item) to navigate forward to `input[type="radio"][checked]`
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"][checked]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Right (Next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, checked, 1 of 3, required"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use VO + Right arrow (Read next item) to navigate forward to `input[type="radio"][checked]`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"][checked]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Right arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat, required, selected, radio button, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"][checked]`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"][checked]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Cat required, selected, radio button, 1 of 3, animal, animal group"
Windows Speech RecognitionEdgenot applicable-
Windows Speech RecognitionChromenot applicable-
Windows Voice AccessEdgenot applicable-
Windows Voice AccessChromenot applicable-
Windows KeyboardChromenot applicable-
Windows KeyboardFirefoxnot applicable-
Windows KeyboardEdgenot applicable-
Mac KeyboardChromenot applicable-
Mac KeyboardSafarinot applicable-
iOS KeyboardSafarinot applicable-
Android KeyboardChromenot applicable-

Extended Support for: input[type="radio"] element: convey the checked state

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2019.1906.10IE 11yes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `input[type="radio"][checked]`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"][checked]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, checked, required"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"][checked]`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"][checked]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal, cat radio button, checked, required"
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxnot applicable-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromenot applicable-
Voice Control (MacOS)Firefoxnot applicable-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Expectation for the input[type="radio"] element: convey the unchecked state

This expectation is from the input[type="radio"] element feature.

Rationale:

A screen reader user needs to know if the checkbox is checked

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Examples:

  • A screen reader might announce "unchecked" or imply that the element is not checked by not announcing the checked state at all.

Grading method:

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

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, cat radio button, not checked, required, invalid entry, 1 of 3"
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, cat radio button, not checked, required, invalid entry, 1 of 3"
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `input[type="radio"]:not(checked)`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]:not(checked)
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"]:not(checked)`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]:not(checked)
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal, cat radio button, not checked, required, invalid entry, 1 of 3"
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Jump to next item (scan mode)) to navigate forward to the start of `input[type="radio"]:not(checked)`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]:not(checked)
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Jump to next item (scan mode))
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, non-selected, required, invalid, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `input[type="radio"]:not(checked)`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]:not(checked)
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, non-selected, required, invalid, 1 of 3"
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "radio button, not checked, required, invalid entry, Cat, radio button, not checked, required, invalid entry, Dog, radio button, not checked, required, invalid entry, CatDog"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "radio button, not checked, required, invalid entry, Cat, radio button, not checked, required, invalid entry, Dog, radio button, not checked, required, invalid entry, CatDog"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `input[type="radio"]:not(checked)`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]:not(checked)
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "radio button, not checked, required, invalid entry, clickable, Cat, radio button, not checked, required, invalid entry, clickable, CatDog"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"]:not(checked)`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]:not(checked)
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `input[type="radio"]:not(checked)`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]:not(checked)
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Cat, not selected, radio button. Dog, not selected, radio button. CatDog, not selected, radio button."
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"]:not(checked)`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]:not(checked)
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "animal panel, cat, not selected, radio button."
TalkBackChromeyes
  • Result: (pass)
    • Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `input[type="radio"]:not(checked)`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]:not(checked)
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (or alt+right arrow) (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "not checked, cat, radio button. double tap to toggle."
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Swipe Right (Next item) to navigate forward to `input[type="radio"]:not(checked)`
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]:not(checked)
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Right (Next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, unchecked, 1 of 3, required"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use VO + Right arrow (Read next item) to navigate forward to `input[type="radio"]:not(checked)`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]:not(checked)
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Right arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat, required, radio button, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"]:not(checked)`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]:not(checked)
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Cat required, radio button, 1 of 3, animal, animal group"
Windows Speech RecognitionEdgenot applicable-
Windows Speech RecognitionChromenot applicable-
Windows Voice AccessEdgenot applicable-
Windows Voice AccessChromenot applicable-
Windows KeyboardChromenot applicable-
Windows KeyboardFirefoxnot applicable-
Windows KeyboardEdgenot applicable-
Mac KeyboardChromenot applicable-
Mac KeyboardSafarinot applicable-
iOS KeyboardSafarinot applicable-
Android KeyboardChromenot applicable-

Extended Support for: input[type="radio"] element: convey the unchecked state

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2019.1906.10IE 11yes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `input[type="radio"]:not(checked)`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]:not(checked)
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `input[type="radio"]:not(checked)`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]:not(checked)
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal, cat radio button, not checked, required"
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxnot applicable-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromenot applicable-
Voice Control (MacOS)Firefoxnot applicable-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Expectation for the input[type="radio"] element: provide shortcuts to jump to this role

This expectation is from the input[type="radio"] element feature.

Rationale:

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

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: SHOULD
  • Voice Control: NA

Grading method:

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

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use f (Next form field) to navigate forward to `input[type="radio"]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: f (Next form field)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Insert + F3 (Open element list)
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Insert + F3 (Open element list)
        • After issuing the command, virtual focus should be: na
      6. Record results for the relevant expectations
    • Output: in list of form field
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use f (Next form field) to navigate forward to `input[type="radio"]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: f (Next form field)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Insert + F3 (Open element list)
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Insert + F3 (Open element list)
        • After issuing the command, virtual focus should be: na
      6. Record results for the relevant expectations
    • Output: in list of form field
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use f (Next form field) to navigate forward to `input[type="radio"]`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: f (Next form field)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Insert + F3 (Open element list)
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Insert + F3 (Open element list)
        • After issuing the command, virtual focus should be: na
      6. Record results for the relevant expectations
    • Output: in list of form field
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use f (Next form field) to navigate forward to `input[type="radio"]`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: f (Next form field)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, non-selected, required, invalid, 1 of 3"
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use f (Next form field) to navigate forward to `input[type="radio"]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: f (Next form field)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, not checked, required, invalid entry,"
  • Result: (partial)
    • Test Case: Use NVDA + F7 (Open Elements List)
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: NVDA + F7 (Open Elements List)
        • After issuing the command, virtual focus should be: na
      6. Record results for the relevant expectations
    • Output: in list of form fields as "unlabeled; radio button; not checked, required; cat"
    • Result Notes: partial support due to the 'unlabeled' part of the listing.
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use f (Next form field) to navigate forward to `input[type="radio"]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: f (Next form field)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, not checked, required, invalid entry,"
  • Result: (partial)
    • Test Case: Use NVDA + F7 (Open Elements List)
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: NVDA + F7 (Open Elements List)
        • After issuing the command, virtual focus should be: na
      6. Record results for the relevant expectations
    • Output: in list of form fields as "unlabeled; radio button; not checked, required; cat"
    • Result Notes: partial support due to the 'unlabeled' part of the listing.
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use f (Next form field) to navigate forward to `input[type="radio"]`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: f (Next form field)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, not checked, required, invalid entry"
  • Result: (pass)
    • Test Case: Use NVDA + F7 (Open Elements List)
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: NVDA + F7 (Open Elements List)
        • After issuing the command, virtual focus should be: na
      6. Record results for the relevant expectations
    • Output: in list of form fields as "cat; radio button; not checked, required"
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use r (Next radio button) to navigate forward to `input[type="radio"]`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: r (Next radio button)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat, not selected, radio button"
  • Result: (pass)
    • Test Case: Use alt + shift + r (list radio buttons) to navigate forward to `input[type="radio"]`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: alt + shift + r (list radio buttons)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: in list of radio buttons
TalkBackChromeyes
  • Result: (pass)
    • Test Case: Use Swipe down (alt+c) (next control (correct reading control must be selected)) to navigate forward to `input[type="radio"]`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe down (alt+c) (next control (correct reading control must be selected))
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "not checked, cat, radio button, double tap to toggle"
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Swipe down (next form control (correct item type must be selected)) to navigate forward to `input[type="radio"]`
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe down (next form control (correct item type must be selected))
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal, cat, radio button, checked, 1 of 3, required"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use VO + Command + J (Next Form Control) to navigate forward to `input[type="radio"]`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Command + J (Next Form Control)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Cat, required, radio button, 1 of 3"
  • Result: (pass)
    • Test Case: Use VO + U (Open Rotor)
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + U (Open Rotor)
        • After issuing the command, virtual focus should be: na
      6. Record results for the relevant expectations
    • Output: in list of form controls
Windows Speech RecognitionEdgenot applicable-
Windows Speech RecognitionChromenot applicable-
Windows Voice AccessEdgenot applicable-
Windows Voice AccessChromenot applicable-
Windows KeyboardChromenot applicable-
Windows KeyboardFirefoxnot applicable-
Windows KeyboardEdgenot applicable-
Mac KeyboardChromenot applicable-
Mac KeyboardSafarinot applicable-
iOS KeyboardSafarinot applicable-
Android KeyboardChromenot applicable-

Extended Support for: input[type="radio"] element: provide shortcuts to jump to this role

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2019.1906.10IE 11yes
  • Result: (pass)
    • Test Case: Use f (Next form field) to navigate forward to `input[type="radio"]`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: f (Next form field)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required"
  • Result: (pass)
    • Test Case: Use Insert + F3 (Open element list)
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:input[type="radio"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Insert + F3 (Open element list)
        • After issuing the command, virtual focus should be: na
      6. Record results for the relevant expectations
    • Output: in list of form field
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxnot applicable-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromenot applicable-
Voice Control (MacOS)Firefoxnot applicable-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Expectation for the legend element: convey its name

This expectation is from the legend element feature.

Rationale:

A screen reader user needs to know what to enter.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Grading method:

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

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, CatDog radio button, not checked, required, invalid entry, 3 of 3"
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "group start, animal"
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, CatDog radio button, not checked, required, invalid entry, 3 of 3"
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "group start, animal"
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to the start of `legend, fieldset`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "group start, animal"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `legend, fieldset`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal, cat, radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (fail)
    • Test Case: Use Up arrow (Read previous item) to navigate backwards to the end of `legend, fieldset`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "group end"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards into `legend, fieldset`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal, CatDog, radio button, not checked, required, invalid entry, 3 of 3"
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Jump to next item (scan mode)) to navigate forward to the start of `legend, fieldset`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Jump to next item (scan mode))
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "animal"
  • Result: (fail)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `legend, fieldset`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, non-selected, required, invalid, 1 of 3"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (fail)
    • Test Case: Use Up arrow (Jump to previous item (scan mode)) to navigate backwards to the end of `legend, fieldset`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Jump to previous item (scan mode))
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "CatDog"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (fail)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards into `legend, fieldset`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "CatDog, radio button, non-selected, required, invalid, 3 of 3"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (fail)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "grouping, radio button, not checked, required, invalid entry, Cat, radio button, not checked, required, invalid entry, dog, radio button, not checked, required, invalid entry, CatDog"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, catdog, radio button, not checked, required, invalid entry, 3 of 3"
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "grouping, animal"
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (fail)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "grouping, radio button, not checked, required, invalid entry, Cat, radio button, not checked, required, invalid entry, dog, radio button, not checked, required, invalid entry, CatDog"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, catdog, radio button, not checked, required, invalid entry, 3 of 3"
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to the start of `fieldset`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "grouping, animal"
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to the start of `legend, fieldset`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "Animal"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `legend, fieldset`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (fail)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to the end of `legend, fieldset`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "radio button, not checked, required, invalid entry, clickable, Cat, radio button, not checked, required, invalid entry, clickable, CatDog"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards into `legend, fieldset`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to the start of `legend, fieldset`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "Animal panel"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `legend, fieldset`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "animal panel, cat, not selected, radio button."
  • Result: (pass)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to the end of `legend, fieldset`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "leaving animal panel, Cat, not selected, radio button. Dog, not selected, radio button. CatDog, not selected, radio button."
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards into `legend, fieldset`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal panel, catdog, not selected, radio button."
TalkBackChromeyes
  • Result: (pass)
    • Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward into `legend, fieldset`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (or alt+right arrow) (Read next item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "animal"
  • Result: (fail)
    • Test Case: Use Swipe left (or alt+left arrow) (Read previous item) to navigate backwards into `legend, fieldset`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe left (or alt+left arrow) (Read previous item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "not checked, CatDog, radio button"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Swipe Right (Next item) to navigate forward into `legend, fieldset`
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Right (Next item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "animal, form start"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use VO + Right arrow (Read next item) to navigate forward to `legend, fieldset`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Right arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "animal, group"
  • Result: (pass)
    • Test Case: Use VO + Right arrow (Read next item) to navigate forward to `legend, fieldset`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Right arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "animal, group"
    • Result Notes: the legend is in the reading order, in addition to the group
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `legend, fieldset`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Cat required, radio button, 1 of 3, animal, animal group"
Windows Speech RecognitionEdgenot applicable-
Windows Speech RecognitionChromenot applicable-
Windows Voice AccessEdgenot applicable-
Windows Voice AccessChromenot applicable-
Windows KeyboardChromenot applicable-
Windows KeyboardFirefoxnot applicable-
Windows KeyboardEdgenot applicable-
Mac KeyboardChromenot applicable-
Mac KeyboardSafarinot applicable-
iOS KeyboardSafarinot applicable-
Android KeyboardChromenot applicable-

Extended Support for: legend element: convey its name

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2019.1906.10IE 11yes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to the start of `legend, fieldset`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "group start, animal"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `legend, fieldset`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal, cat, radio button, not checked, required"
  • Result: (fail)
    • Test Case: Use Up arrow (Read previous item) to navigate backwards to the end of `legend, fieldset`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "group end"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards into `legend, fieldset`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:legend, fieldset
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "Animal, CatDog, radio button, not checked, required"
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxnot applicable-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromenot applicable-
Voice Control (MacOS)Firefoxnot applicable-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Expectation for the required attribute: convey the property - applied to the input[type="radio"] element

This expectation is applied to the input[type="radio"] element. Expectations and results might differ when the the feature is applied to different roles.

This expectation is from the required attribute feature.

Rationale:

The user needs to know that input is required

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Examples:

  • A screen reader might announce the property along with the elements name, role, and value

Grading method:

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

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "CatDog radio button, not checked, required, invalid entry, 3 of 3"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, CatDog radio button, not checked, required, invalid entry, 3 of 3"
Notes: The required state is conveyed for each radio in the group. Some users might find this confusing since only one radio can be selected at a time.
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "CatDog radio button, not checked, required, invalid entry, 3 of 3"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, CatDog radio button, not checked, required, invalid entry, 3 of 3"
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal, cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "CatDog radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal, CatDog radio button, not checked, required, invalid entry, 3 of 3"
Notes: The required state is conveyed for each radio in the group. Some users might find this confusing since only one radio can be selected at a time.
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Jump to next item (scan mode)) to navigate forward to the start of `*[required]`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Jump to next item (scan mode))
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, non-selected, required, invalid, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `*[required]`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, non-selected, required, invalid, 1 of 3"
  • Result: (pass)
    • Test Case: Use Up arrow (Jump to previous item (scan mode)) to navigate backwards to the end of `*[required]`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Jump to previous item (scan mode))
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "CatDog, radio button, non-selected, required, invalid, 3 of 3"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards into `*[required]`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "CatDog, radio button, non-selected, required, invalid, 3 of 3"
Notes: The required state is conveyed for each radio in the group. Some users might find this confusing since only one radio can be selected at a time.
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "radio button, not checked, required, invalid entry, Cat, radio button, not checked, required, invalid entry, Dog, radio button, not checked, required, invalid entry, CatDog"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "grouping, radio button, not checked, required, invalid entry, Cat, radio button, not checked, required, invalid entry, dog, radio button, not checked, required, invalid entry, CatDog"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, catdog, radio button, not checked, required, invalid entry, 3 of 3"
Notes: The required state is conveyed for each radio in the group. Some users might find this confusing since only one radio can be selected at a time.
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "radio button, not checked, required, invalid entry, Cat, radio button, not checked, required, invalid entry, Dog, radio button, not checked, required, invalid entry, CatDog"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "grouping, radio button, not checked, required, invalid entry, Cat, radio button, not checked, required, invalid entry, dog, radio button, not checked, required, invalid entry, CatDog"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, catdog, radio button, not checked, required, invalid entry, 3 of 3"
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "radio button, not checked, required, invalid entry, clickable, Cat, radio button, not checked, required, invalid entry, clickable, CatDog"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "radio button, not checked, required, invalid entry, clickable, Cat, radio button, not checked, required, invalid entry, clickable, CatDog"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, CatDog, radio button, not checked, required, invalid entry, 3 of 3"
Notes: The required state is conveyed for each radio in the group. Some users might find this confusing since only one radio can be selected at a time.
OrcaFirefoxnone
  • Result: (fail)
    • Test Case: Use down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Cat, not selected, radio button. Dog, not selected, radio button. CatDog, not selected, radio button."
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (fail)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "animal panel, cat, not selected, radio button."
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (fail)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "leaving animal panel, Cat, not selected, radio button. Dog, not selected, radio button. CatDog, not selected, radio button."
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (fail)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal panel, catdog, not selected, radio button."
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
TalkBackChromenone
  • Result: (fail)
    • Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `*[required]`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (or alt+right arrow) (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "not checked, cat, radio button, double tap to toggle"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (fail)
    • Test Case: Use Swipe left (or alt+left arrow) (Read previous item) to navigate backwards to `*[required]`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe left (or alt+left arrow) (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "not checked, CatDog, radio button, double tap to toggle"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Swipe Right (Next item) to navigate forward to `*[required]`
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Right (Next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, unchecked, 1 of 3, required"
  • Result: (pass)
    • Test Case: Use Swipe Left (Previous item) to navigate backwards to `*[required]`
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Left (Previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "CatDog, radio button, unchecked, 3 of 3, required"
Notes: The required state is conveyed for each radio in the group. Some users might find this confusing since only one radio can be selected at a time.
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use VO + Right arrow (Read next item) to navigate forward to `*[required]`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Right arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat, required, radio button, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Cat, required, radio button, 1 of 3, animal, animal group"
  • Result: (pass)
    • Test Case: Use VO + Left Arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Left Arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "CatDog, required, radio button, 3 of 3"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "CatDog, required, radio button, 3 of 3, animal, animal group"
Notes: The required state is conveyed for each radio in the group. Some users might find this confusing since only one radio can be selected at a time.
Windows Speech RecognitionEdgenot applicable-
Windows Speech RecognitionChromenot applicable-
Windows Voice AccessEdgenot applicable-
Windows Voice AccessChromenot applicable-
Windows KeyboardChromenot applicable-
Windows KeyboardFirefoxnot applicable-
Windows KeyboardEdgenot applicable-
Mac KeyboardChromenot applicable-
Mac KeyboardSafarinot applicable-
iOS KeyboardSafarinot applicable-
Android KeyboardChromenot applicable-

Extended Support for: required attribute: convey the property

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2019.1906.10IE 11yes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal, cat radio button, not checked, required, 1 of 3"
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "CatDog radio button, not checked, required, 1 of 3"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal, CatDog radio button, not checked, required, 3 of 3"
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxnot applicable-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromenot applicable-
Voice Control (MacOS)Firefoxnot applicable-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Expectation for the required attribute: convey the invalid state when empty - applied to the input[type="radio"] element

This expectation is applied to the input[type="radio"] element. Expectations and results might differ when the the feature is applied to different roles.

This expectation is from the required attribute feature.

Rationale:

The user might want to confirm that the input is invalid when empty

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MAY
  • Voice Control: NA

Grading method:

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

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "CatDog radio button, not checked, required, invalid entry, 3 of 3"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, CatDog radio button, not checked, required, invalid entry, 3 of 3"
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "CatDog radio button, not checked, required, invalid entry, 3 of 3"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal group, CatDog radio button, not checked, required, invalid entry, 3 of 3"
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal, cat radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "CatDog radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal, CatDog radio button, not checked, required, invalid entry, 3 of 3"
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Jump to next item (scan mode)) to navigate forward to the start of `*[required]`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Jump to next item (scan mode))
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, non-selected, required, invalid, 1 of 3"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward into `*[required]`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, non-selected, required, invalid, 1 of 3"
  • Result: (pass)
    • Test Case: Use Up arrow (Jump to previous item (scan mode)) to navigate backwards to the end of `*[required]`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Jump to previous item (scan mode))
        • After issuing the command, virtual focus should be: end of target
      6. Record results for the relevant expectations
    • Output: "CatDog, radio button, non-selected, required, invalid, 3 of 3"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards into `*[required]`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: within target
      6. Record results for the relevant expectations
    • Output: "CatDog, radio button, non-selected, required, invalid, 3 of 3"
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "radio button, not checked, required, invalid entry, Cat, radio button, not checked, required, invalid entry, Dog, radio button, not checked, required, invalid entry, CatDog"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "grouping, radio button, not checked, required, invalid entry, Cat, radio button, not checked, required, invalid entry, dog, radio button, not checked, required, invalid entry, CatDog"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, catdog, radio button, not checked, required, invalid entry, 3 of 3"
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "radio button, not checked, required, invalid entry, Cat, radio button, not checked, required, invalid entry, Dog, radio button, not checked, required, invalid entry, CatDog"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "grouping, radio button, not checked, required, invalid entry, Cat, radio button, not checked, required, invalid entry, dog, radio button, not checked, required, invalid entry, CatDog"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, catdog, radio button, not checked, required, invalid entry, 3 of 3"
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "radio button, not checked, required, invalid entry, clickable, Cat, radio button, not checked, required, invalid entry, clickable, CatDog"
  • Result: (pass)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, cat, radio button, not checked, required, invalid entry, 1 of 3"
  • Result: (pass)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "radio button, not checked, required, invalid entry, clickable, Cat, radio button, not checked, required, invalid entry, clickable, CatDog"
  • Result: (pass)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal grouping, CatDog, radio button, not checked, required, invalid entry, 3 of 3"
OrcaFirefoxnone
  • Result: (fail)
    • Test Case: Use down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Cat, not selected, radio button. Dog, not selected, radio button. CatDog, not selected, radio button."
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (fail)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "animal panel, cat, not selected, radio button."
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (fail)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "leaving animal panel, Cat, not selected, radio button. Dog, not selected, radio button. CatDog, not selected, radio button."
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (fail)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal panel, catdog, not selected, radio button."
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
TalkBackChromenone
  • Result: (fail)
    • Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `*[required]`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (or alt+right arrow) (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "not checked, cat, radio button, double tap to toggle"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (fail)
    • Test Case: Use Swipe left (or alt+left arrow) (Read previous item) to navigate backwards to `*[required]`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe left (or alt+left arrow) (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "not checked, CatDog, radio button, double tap to toggle"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safarinone
  • Result: (fail)
    • Test Case: Use Swipe Right (Next item) to navigate forward to `*[required]`
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Right (Next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat, radio button, unchecked, 1 of 3, required"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (fail)
    • Test Case: Use Swipe Left (Previous item) to navigate backwards to `*[required]`
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Left (Previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "CatDog, radio button, unchecked, 3 of 3, required"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
VoiceOver (macOS)Safarinone
  • Result: (fail)
    • Test Case: Use VO + Right arrow (Read next item) to navigate forward to `*[required]`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Right arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat, required, radio button, 1 of 3"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (fail)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Cat, required, radio button, 1 of 3, animal, animal group"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (fail)
    • Test Case: Use VO + Left Arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Left Arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "CatDog, required, radio button, 3 of 3"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
  • Result: (fail)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "CatDog, required, radio button, 3 of 3, animal, animal group"
    • Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue.
Windows Speech RecognitionEdgenot applicable-
Windows Speech RecognitionChromenot applicable-
Windows Voice AccessEdgenot applicable-
Windows Voice AccessChromenot applicable-
Windows KeyboardChromenot applicable-
Windows KeyboardFirefoxnot applicable-
Windows KeyboardEdgenot applicable-
Mac KeyboardChromenot applicable-
Mac KeyboardSafarinot applicable-
iOS KeyboardSafarinot applicable-
Android KeyboardChromenot applicable-

Extended Support for: required attribute: convey the invalid state when empty

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2019.1906.10IE 11none
  • Result: (fail)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `*[required]`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "cat radio button, not checked, required, 1 of 3"
  • Result: (fail)
    • Test Case: Use Tab (Read next focusable item) to navigate forward to `*[required]`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Tab (Read next focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal, cat radio button, not checked, required, 1 of 3"
  • Result: (fail)
    • Test Case: Use Up arrow (Read previous item) to navigate backwards to `*[required]`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "CatDog radio button, not checked, required, 1 of 3"
  • Result: (fail)
    • Test Case: Use Shift + Tab (Read previous focusable item) to navigate backwards to `*[required]`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[required]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Shift + Tab (Read previous focusable item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Animal, CatDog radio button, not checked, required, 3 of 3"
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxnot applicable-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromenot applicable-
Voice Control (MacOS)Firefoxnot applicable-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Dates and Versions of tested combinations

ATAT VersionBrowserBrowser versionOS versionDate tested
Dragon Naturally Speaking15.30Chrome76Windows 10 version 19032019-08-21
JAWS2021.2107.12Chrome92Windows 10 version 21h12021-08-07
JAWS2021.2107.12Edge92Windows 10 version 21h12021-08-07
JAWS2019.1906.10Firefox68Windows 10 version 19032019-08-21
NarratorWindows 10 version 1903Edge44Windows 10 version 19032019-08-21
NVDA2021.1Chrome92Windows 10 version 21h12021-08-07
NVDA2021.1Edge92Windows 10 version 21h12021-08-07
NVDA2019.2Firefox68Windows 10 version 19032019-08-21
Orca3.31.4Firefox69Ubuntu 19.042019-09-16
TalkBack7.3.0Chrome7672019-08-21
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)12.3.1Safari12.3.112.3.12019-08-21
VoiceOver (macOS)10.14.6Safari12.1.210.14.52019-08-21
Windows Speech RecognitionWindows 10 version 1903Edge44Windows 10 version 19032019-10-18
Windows Speech RecognitionWindows 10 version 1903Chrome77Windows 10 version 19032019-10-18

History

  • 2019-08-21 Test created
  • 2019-09-16 Add orca results
  • 2019-09-23 Add vc_ios results
  • 2019-10-02 Add va_and results
  • 2019-10-07 Add vc_macos results
  • 2019-10-18 Add wsr results
  • 2021-08-07 Added Narrator results for NVDA and JAWS, updated NVDA+Chrome results.