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

Test: APG 1.1 modal dialog example

Screen Reader support level: partial (25/40)

Voice Control support level: not applicable

This example implements a modal dialog.

Run this test and and submit your results

On this page

Test HTML

view the external test

Dates and Versions of tested combinations

ATAT VersionBrowserBrowser versionOS versionDate tested
Dragon Naturally Speaking15.30Chrome7619032019-08-13
JAWS2019.1906.10Chrome7619032019-08-13
JAWS2019.1906.10IE1119032019-08-13
JAWS2019.1906.10Firefox6819032019-08-13
Narrator1903Edge4419032019-08-13
NVDA2019.1.1Chrome7619032019-08-13
NVDA2019.1.1Firefox6819032019-08-13
Orca3.31.4Firefox69Ubuntu 19.042019-09-13
TalkBack7.3.0Chrome7672019-08-13
VoiceOver (iOS)12.3.1Safari12.3.112.3.12019-08-13
VoiceOver (macOS)10.14.6Safari12.1.210.14.52019-08-13

Summary of Screen Reader support by expectation

ExpectationJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
aria-modal attribute
MUST convey the presence of aria-modal=truesupportednonesupportedpartialnonepartialpartial
SHOULD limit reading to children of aria-modal=truesupportednonesupportedpartialnonepartialsupported
SHOULD remove outside content from navigational shortcuts when aria-modal=truepartialnonesupportedpartialnonesupportednone
dialog role
MUST convey the name of the dialogsupportedsupportedsupportedpartialnonesupportedpartial
MUST convey the dialog rolesupportedsupportedsupportedpartialnonesupportedpartial
MUST convey the boundaries of the dialogsupportedpartialsupportedpartialnonepartialsupported

* means that some support is hidden behind settings

Summary of Voice Control support by expectation

ExpectationDragon Naturally SpeakingVoice Access (Android)Voice Control (iOS)Voice Control (MacOS)Windows Speech Recognition
Not applicable

* means that some support is hidden behind settings

Detailed support results by expectation

Expectation for the aria-modal attribute: convey the presence of aria-modal=true

Rationale: Users need to be aware that other content is obscured by the modal.

Strength of these expectations for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Examples of assistive technologies support this expectation:

  • Screen readers might convey the modal state when entering the modal
  • Screen readers might imply the modal state by restricting reading and navigation to the modal content

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

This expectation is from the aria-modal attribute feature.

ATBrowserHas SupportOutputAction
Dragon Naturally SpeakingChromenot applicable-More information
JAWSChromeyes
  • Result: (pass)
    • command: Enter or Space (Activate Button)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: "add delivery address, modal dialog..."
    • Result Notes: The modal state was explicitly conveyed.
More information
JAWSIEyes
  • Result: (pass)
    • command: Enter or Space (Activate Button)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: "add delivery address, modal dialog..."
    • Result Notes: The modal state was explicitly conveyed.
More information
JAWSFirefoxyes
  • Result: (pass)
    • command: Enter or Space (Activate Button)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: "add delivery address, modal dialog..."
    • Result Notes: The modal state was explicitly conveyed.
More information
NarratorEdgenone
  • Result: (fail)
    • command: Enter or Space Bar (Activate Item (primary action))
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: "Add delivery address, dialog..."
    • Result Notes: Modal state was not conveyed and non-modal content was not obscured. See other expectations for details.
More information
NVDAChromeyes
  • Result: (pass)
    • command: Enter or Space (Activate Button)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: "Add delivery address, dialog..."
    • Result Notes: Modal state was not conveyed but non-modal content was obscured which implies the modal state. See other expectations for details.
More information
NVDAFirefoxyes
  • Result: (pass)
    • command: Enter or Space (Activate Button)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: "Add delivery address, dialog..."
    • Result Notes: Modal state was not conveyed but non-modal content was obscured which implies the modal state. See other expectations for details.
More information
OrcaFirefoxpartial
  • Result: (partial)
    • command: up arrow (Read previous item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: start of target
    • Output: link before the modal was announced, and then "add delivery address dialog, street, entry".
    • Result Notes: boundaries partially implied by the fact that the rest of the document is not navigable. Partial because the link before the modal was announced.
More information
TalkBackChromenone
  • Result: (fail)
    • command: double tap (Activate button)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: "edit box, street"
    • Result Notes: Modal state was not conveyed but non-modal content was not obscured. See other expectations for details.
More information
Voice Access (Android)Chromenot applicable-More information
Voice Control (iOS)Safarinot applicable-More information
Voice Control (MacOS)Safarinot applicable-More information
VoiceOver (iOS)Safaripartial
  • Result: (partial)
    • command: Double tap (Activate Button)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: start of target
      • virtual cursor location: start of target
    • location after command: within target
    • Output: "add delivery address, web dialog..."
    • Result Notes: Modal state was not conveyed but non-modal content was partially obscured which partially implies the modal state. See other expectations for details.
More information
VoiceOver (macOS)Safaripartial
  • Result: (partial)
    • command: Enter or Space (Activate Button)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "street, edit text"
    • Result Notes: Modal state was not conveyed but non-modal content was partially obscured which partially implies the modal state. See other expectations for details.
More information
Windows Speech RecognitionChromenot applicable-More information

Extended Support for: aria-modal attribute: convey the presence of aria-modal=true

These are less common combinations

ATBrowserHas SupportOutputAction
Dragon Naturally SpeakingIEnot applicable-More information
Dragon Naturally SpeakingFirefoxnot applicable-More information
JAWSEdgeunknown-More information
NarratorFirefoxunknown-More information
NarratorChromeunknown-More information
NarratorIEunknown-More information
NVDAIEunknown-More information
NVDAEdgeunknown-More information
TalkBackFirefoxunknown-More information
Voice Access (Android)Firefoxnot applicable-More information
VoiceOver (iOS)Chromeunknown-More information
VoiceOver (macOS)Chromeunknown-More information
VoiceOver (macOS)Firefoxunknown-More information
OrcaChromeunknown-More information
Voice Control (MacOS)Chromenot applicable-More information
Voice Control (MacOS)Firefoxnot applicable-More information
Windows Speech RecognitionEdgenot applicable-More information
Back to top

Expectation for the aria-modal attribute: limit reading to children of aria-modal=true

Rationale: Users should not be able to access content outside of the modal. However, AT are not required to implement this functionality per the ARIA spec, and authors may implement this on their own.

Strength of these expectations for different types of assistive technologies:

  • Screen Readers: SHOULD
  • Voice Control: NA

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

This expectation is from the aria-modal attribute feature.

ATBrowserHas SupportOutputAction
Dragon Naturally SpeakingChromenot applicable-More information
JAWSChromeyes
  • Result: (pass)
    • command: Up arrow (Read previous item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: unable to reach outside content
    • Result Notes: The title of the window was announced
More information
JAWSIEyes
  • Result: (pass)
    • command: Up arrow (Read previous item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: unable to reach outside content
    • Result Notes: The title of the window was announced
More information
JAWSFirefoxyes
  • Result: (pass)
    • command: Up arrow (Read previous item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: unable to reach outside content
    • Result Notes: The title of the window was announced
More information
NarratorEdgenone
  • Result: (fail)
    • command: Up arrow (Read previous item (scan mode))
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: content outside of the modal was announced
More information
NVDAChromeyes
  • Result: (pass)
    • command: up arrow (Read previous item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: unable to reach outside content
More information
NVDAFirefoxyes
  • Result: (pass)
    • command: up arrow (Read previous item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: unable to reach outside content
More information
OrcaFirefoxpartial
  • Result: (partial)
    • command: up arrow (Read previous item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: start of target
    • Output: link before the modal was announced, and then "add delivery address dialog, street, entry".
    • Result Notes: Partial because the link before the modal was announced (but nothing else outside of the modal).
More information
TalkBackChromenone
  • Result: (fail)
    • command: Swipe left (Read previous item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: content outside of the modal was announced
More information
Voice Access (Android)Chromenot applicable-More information
Voice Control (iOS)Safarinot applicable-More information
Voice Control (MacOS)Safarinot applicable-More information
VoiceOver (iOS)Safaripartial
  • Result: (partial)
    • command: Swipe Left (Previous item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: "opening double quotation mark" and "closing double quotation mark"
    • Result Notes: quotation marks were found and announced but no other content was conveyed
More information
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • command: VO + Left Arrow (Read previous item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: target
      • virtual cursor location: target
    • location after command: before target
    • Output: unable to navigate to outside content
    • Result Notes: unable to navigate to outside content even after navigating out of the dialog via VO+shift+up arrow
More information
Windows Speech RecognitionChromenot applicable-More information

Extended Support for: aria-modal attribute: limit reading to children of aria-modal=true

These are less common combinations

ATBrowserHas SupportOutputAction
Dragon Naturally SpeakingIEnot applicable-More information
Dragon Naturally SpeakingFirefoxnot applicable-More information
JAWSEdgeunknown-More information
NarratorFirefoxunknown-More information
NarratorChromeunknown-More information
NarratorIEunknown-More information
NVDAIEunknown-More information
NVDAEdgeunknown-More information
TalkBackFirefoxunknown-More information
Voice Access (Android)Firefoxnot applicable-More information
VoiceOver (iOS)Chromeunknown-More information
VoiceOver (macOS)Chromeunknown-More information
VoiceOver (macOS)Firefoxunknown-More information
OrcaChromeunknown-More information
Voice Control (MacOS)Chromenot applicable-More information
Voice Control (MacOS)Firefoxnot applicable-More information
Windows Speech RecognitionEdgenot applicable-More information
Back to top

Expectation for the aria-modal attribute: remove outside content from navigational shortcuts when aria-modal=true

Rationale: Users should not be able to access content outside of the modal. However, AT are not required to implement this functionality per the ARIA spec, and authors may implement this on their own.

Strength of these expectations for different types of assistive technologies:

  • Screen Readers: SHOULD
  • Voice Control: NA

Examples of assistive technologies support this expectation:

  • Screen readers must not allow allow users to jump to the next element type if that element is outside of the modal
  • Screen readers must not include outside content in the list of elements

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

This expectation is from the aria-modal attribute feature.

ATBrowserHas SupportOutputAction
Dragon Naturally SpeakingChromenot applicable-More information
JAWSChromepartial
  • Result: (fail)
    • command: Insert + F3 (Open element list)
    • before the command was executed
      • mode: auto (mode not explicitly)
    • Output: outside content was displayed in content lists, such as the of links, etc.
  • Result: (pass)
    • command: u (Next unvisited link)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: no links were found
    • Result Notes: This is sort of fragile. If you use the mouse to click outside of the modal content, the modal stays open but shortcuts can be used to jump to outside content. It appears to work fine if keyboard was used exclusively.
More information
JAWSIEpartial
  • Result: (fail)
    • command: Insert + F3 (Open element list)
    • before the command was executed
      • mode: auto (mode not explicitly)
    • Output: outside content was displayed in content lists, such as the of links, etc.
  • Result: (pass)
    • command: u (Next unvisited link)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: no links were found
    • Result Notes: This is sort of fragile. If you use the mouse to click outside of the modal content, the modal stays open but shortcuts can be used to jump to outside content. It appears to work fine if keyboard was used exclusively.
More information
JAWSFirefoxpartial
  • Result: (fail)
    • command: Insert + F3 (Open element list)
    • before the command was executed
      • mode: auto (mode not explicitly)
    • Output: outside content was displayed in content lists, such as the of links, etc.
  • Result: (pass)
    • command: u (Next unvisited link)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: no links were found
    • Result Notes: This is sort of fragile. If you use the mouse to click outside of the modal content, the modal stays open but shortcuts can be used to jump to outside content. It appears to work fine if keyboard was used exclusively.
More information
NarratorEdgenone
  • Result: (fail)
    • command: shift + k (Previous link)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: links were found outside of the modal
More information
NVDAChromeyes
  • Result: (pass)
    • command: shift + f (previous form field)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: no outside form fields were found
  • Result: (pass)
    • command: shift+ k (Previous link)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: no outside links were found
  • Result: (pass)
    • command: NVDA + F7 (Open Elements List)
    • before the command was executed
      • mode: auto (mode not explicitly)
    • Output: only content within the modal was included in the lists
More information
NVDAFirefoxyes
  • Result: (pass)
    • command: shift + f (previous form field)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: no outside form fields were found
  • Result: (pass)
    • command: shift+ k (Previous link)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: no outside links were found
  • Result: (pass)
    • command: NVDA + F7 (Open Elements List)
    • before the command was executed
      • mode: auto (mode not explicitly)
    • Output: only content within the modal was included in the lists
More information
OrcaFirefoxpartial
  • Result: (pass)
    • command: shift + tab (previous form field)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: no outside form fields were found
  • Result: (partial)
    • command: shift+ k (Previous link)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: The link just before the dialog example was announced, but the reading cursor was immediately sent back to the open dialog. Not possible to find other links outside of the dialog.
  • Result: (partial)
    • command: alt + shift+ k (Open a list of links)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: outside links are listed. When jumping to those links, focus is redirected back to the open dialog.
    • Result Notes: partial because outside links are listed but its not possible to jump to them.
More information
TalkBackChromenone
  • Result: (fail)
    • command: Swipe left (previous link (correct item type must be selected))
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: content outside of the modal was announced
More information
Voice Access (Android)Chromenot applicable-More information
Voice Control (iOS)Safarinot applicable-More information
Voice Control (MacOS)Safarinot applicable-More information
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • command: Swipe up (previous link (correct item type must be selected))
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: not found
  • Result: (pass)
    • command: Swipe up (previous form control (correct item type must be selected))
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: not found
More information
VoiceOver (macOS)Safarinone
  • Result: (fail)
    • command: VO + Shift + Command + H (Previous Heading)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: previous headings in outside content were found
  • Result: (fail)
    • command: VO + U (Open Rotor)
    • before the command was executed
      • mode: auto (mode not explicitly)
    • Output: headings, links, and other content was listed and could be navigated to
More information
Windows Speech RecognitionChromenot applicable-More information

Extended Support for: aria-modal attribute: remove outside content from navigational shortcuts when aria-modal=true

These are less common combinations

ATBrowserHas SupportOutputAction
Dragon Naturally SpeakingIEnot applicable-More information
Dragon Naturally SpeakingFirefoxnot applicable-More information
JAWSEdgeunknown-More information
NarratorFirefoxunknown-More information
NarratorChromeunknown-More information
NarratorIEunknown-More information
NVDAIEunknown-More information
NVDAEdgeunknown-More information
TalkBackFirefoxunknown-More information
Voice Access (Android)Firefoxnot applicable-More information
VoiceOver (iOS)Chromeunknown-More information
VoiceOver (macOS)Chromeunknown-More information
VoiceOver (macOS)Firefoxunknown-More information
OrcaChromeunknown-More information
Voice Control (MacOS)Chromenot applicable-More information
Voice Control (MacOS)Firefoxnot applicable-More information
Windows Speech RecognitionEdgenot applicable-More information
Back to top

Expectation for the dialog role: convey the name of the dialog

Rationale: Users need to know the purpose of the dialog.

Strength of these expectations for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

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

This expectation is from the dialog role feature.

ATBrowserHas SupportOutputAction
Dragon Naturally SpeakingChromenot applicable-More information
JAWSChromeyes
  • Result: (pass)
    • command: Enter or Space (Activate Button)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: "add delivery address, modal dialog..."
    • Result Notes: The name, role, and aria-modal were conveyed when entering the dialog for the first time.
More information
JAWSIEyes
  • Result: (pass)
    • command: Enter or Space (Activate Button)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: "add delivery address, modal dialog..."
    • Result Notes: The name and role were conveyed when entering the dialog for the first time. The modal state was not
More information
JAWSFirefoxyes
  • Result: (pass)
    • command: Enter or Space (Activate Button)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: "add delivery address, modal dialog..."
    • Result Notes: The name, role, and modal state were conveyed when entering the dialog for the first time.
More information
NarratorEdgeyes
  • Result: (pass)
    • command: Enter or Space Bar (Activate Item (primary action))
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: "Add delivery address, dialog..."
More information
NVDAChromeyes
  • Result: (pass)
    • command: Enter or Space (Activate Button)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: "Add delivery address, dialog..."
More information
NVDAFirefoxyes
  • Result: (pass)
    • command: Enter or Space (Activate Button)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: "Add delivery address, dialog..."
More information
OrcaFirefoxpartial
  • Result: (fail)
    • command: Enter or Space (Activate Button)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: contents of modal was announced, but not the dialog name, role, or state (modal)
  • Result: (pass)
    • command: up arrow (Read previous item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: start of target
    • Output: link before the modal was announced, and then "add delivery address dialog, street, entry"
More information
TalkBackChromenone
  • Result: (fail)
    • command: double tap (Activate button)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: "edit box, street"
    • Result Notes: not conveyed when first entering the dialog
  • Result: (fail)
    • command: Swipe left (Read previous item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: start of target
      • virtual cursor location: start of target
    • location after command: within target
    • Output: "edit box, street"
    • Result Notes: not conveyed when navigating to the boundary of the dialog
More information
Voice Access (Android)Chromenot applicable-More information
Voice Control (iOS)Safarinot applicable-More information
Voice Control (MacOS)Safarinot applicable-More information
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • command: Swipe Left (Previous item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: start of target
      • virtual cursor location: start of target
    • location after command: within target
    • Output: "add delivery address, web dialog..."
More information
VoiceOver (macOS)Safaripartial
  • Result: (fail)
    • command: Enter or Space (Activate Button)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "street, edit text"
  • Result: (pass)
    • command: VO + Shift + Up Arrow (Exit an object (such as an iframe))
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: target
    • Output: "Out of add delivery address, web dialog..."
More information
Windows Speech RecognitionChromenot applicable-More information

Extended Support for: dialog role: convey the name of the dialog

These are less common combinations

ATBrowserHas SupportOutputAction
Dragon Naturally SpeakingIEnot applicable-More information
Dragon Naturally SpeakingFirefoxnot applicable-More information
JAWSEdgeunknown-More information
NarratorFirefoxunknown-More information
NarratorChromeunknown-More information
NarratorIEunknown-More information
NVDAIEunknown-More information
NVDAEdgeunknown-More information
TalkBackFirefoxunknown-More information
Voice Access (Android)Firefoxnot applicable-More information
VoiceOver (iOS)Chromeunknown-More information
VoiceOver (macOS)Chromeunknown-More information
VoiceOver (macOS)Firefoxunknown-More information
OrcaChromeunknown-More information
Voice Control (MacOS)Chromenot applicable-More information
Voice Control (MacOS)Firefoxnot applicable-More information
Windows Speech RecognitionEdgenot applicable-More information
Back to top

Expectation for the dialog role: convey the dialog role

Rationale: Users must be made aware of the dialog context.

Strength of these expectations for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Examples of assistive technologies support this expectation:

  • A screen reader might announce 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.

This expectation is from the dialog role feature.

ATBrowserHas SupportOutputAction
Dragon Naturally SpeakingChromenot applicable-More information
JAWSChromeyes
  • Result: (pass)
    • command: Enter or Space (Activate Button)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: "add delivery address, modal dialog..."
    • Result Notes: The name, role, and aria-modal were conveyed when entering the dialog for the first time.
More information
JAWSIEyes
  • Result: (pass)
    • command: Enter or Space (Activate Button)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: "add delivery address, modal dialog..."
    • Result Notes: The name and role were conveyed when entering the dialog for the first time. The modal state was not
More information
JAWSFirefoxyes
  • Result: (pass)
    • command: Enter or Space (Activate Button)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: "add delivery address, modal dialog..."
    • Result Notes: The name, role, and modal state were conveyed when entering the dialog for the first time.
More information
NarratorEdgeyes
  • Result: (pass)
    • command: Enter or Space Bar (Activate Item (primary action))
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: "Add delivery address, dialog..."
More information
NVDAChromeyes
  • Result: (pass)
    • command: Enter or Space (Activate Button)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: "Add delivery address, dialog..."
More information
NVDAFirefoxyes
  • Result: (pass)
    • command: Enter or Space (Activate Button)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: "Add delivery address, dialog..."
More information
OrcaFirefoxpartial
  • Result: (fail)
    • command: Enter or Space (Activate Button)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: contents of modal was announced, but not the dialog name, role, or state (modal)
  • Result: (pass)
    • command: up arrow (Read previous item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: start of target
    • Output: link before the modal was announced, and then "add delivery address dialog, street, entry"
More information
TalkBackChromenone
  • Result: (fail)
    • command: double tap (Activate button)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: "edit box, street"
    • Result Notes: not conveyed when first entering the dialog
  • Result: (fail)
    • command: Swipe left (Read previous item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: start of target
      • virtual cursor location: start of target
    • location after command: within target
    • Output: "edit box, street"
    • Result Notes: not conveyed when navigating to the boundary of the dialog
More information
Voice Access (Android)Chromenot applicable-More information
Voice Control (iOS)Safarinot applicable-More information
Voice Control (MacOS)Safarinot applicable-More information
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • command: Double tap (Activate Button)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: start of target
      • virtual cursor location: start of target
    • location after command: within target
    • Output: "add delivery address, web dialog..."
More information
VoiceOver (macOS)Safaripartial
  • Result: (fail)
    • command: Enter or Space (Activate Button)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: target
    • Output: "street, edit text"
  • Result: (pass)
    • command: VO + Shift + Up Arrow (Exit an object (such as an iframe))
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: target
    • Output: "Out of add delivery address, web dialog..."
More information
Windows Speech RecognitionChromenot applicable-More information

Extended Support for: dialog role: convey the dialog role

These are less common combinations

ATBrowserHas SupportOutputAction
Dragon Naturally SpeakingIEnot applicable-More information
Dragon Naturally SpeakingFirefoxnot applicable-More information
JAWSEdgeunknown-More information
NarratorFirefoxunknown-More information
NarratorChromeunknown-More information
NarratorIEunknown-More information
NVDAIEunknown-More information
NVDAEdgeunknown-More information
TalkBackFirefoxunknown-More information
Voice Access (Android)Firefoxnot applicable-More information
VoiceOver (iOS)Chromeunknown-More information
VoiceOver (macOS)Chromeunknown-More information
VoiceOver (macOS)Firefoxunknown-More information
OrcaChromeunknown-More information
Voice Control (MacOS)Chromenot applicable-More information
Voice Control (MacOS)Firefoxnot applicable-More information
Windows Speech RecognitionEdgenot applicable-More information
Back to top

Expectation for the dialog role: convey the boundaries of the dialog

Rationale: Users need to know when they enter and exit a dialog.

Strength of these expectations for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Examples of assistive technologies support this expectation:

  • Screen readers might announce something like "entering dialog" or "leaving dialog".
  • Screen readers might imply the boundary by obscuring outside content when aria-modal=true is also present.

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

This expectation is from the dialog role feature.

ATBrowserHas SupportOutputAction
Dragon Naturally SpeakingChromenot applicable-More information
JAWSChromeyes
  • Result: (pass)
    • command: Up arrow (Read previous item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: not able to move outside of the modal
More information
JAWSIEyes
  • Result: (pass)
    • command: Up arrow (Read previous item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: not able to move outside of the modal
More information
JAWSFirefoxyes
  • Result: (pass)
    • command: Up arrow (Read previous item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: not able to move outside of the modal
More information
NarratorEdgepartial
  • Result: (pass)
    • command: Down arrow (Read next item (scan mode))
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: "Dialog, heading level 2, add delivery address"
  • Result: (fail)
    • command: Up arrow (Read previous item (scan mode))
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: "Link, modal dialog design pattern in aria authoring practices 1.1"
More information
NVDAChromeyes
  • Result: (pass)
    • command: up arrow (Read previous item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: not able to move outside of the modal
More information
NVDAFirefoxyes
  • Result: (pass)
    • command: up arrow (Read previous item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: not able to move outside of the modal
More information
OrcaFirefoxpartial
  • Result: (partial)
    • command: up arrow (Read previous item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: start of target
    • Output: link before the modal was announced, and then "add delivery address dialog, street, entry"
    • Result Notes: boundaries partially implied by the fact that the rest of the document is not navigable. Partial because the link before the modal was announced.
More information
TalkBackChromenone
  • Result: (fail)
    • command: Swipe left (Read previous item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: "modal dialog design pattern in aria authoring practices 1.1, link"
  • Result: (fail)
    • command: Swipe right (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: dialog boundary not conveyed
More information
Voice Access (Android)Chromenot applicable-More information
Voice Control (iOS)Safarinot applicable-More information
Voice Control (MacOS)Safarinot applicable-More information
VoiceOver (iOS)Safaripartial
  • Result: (fail)
    • command: Swipe Left (Previous item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: start of target
      • virtual cursor location: start of target
    • location after command: before target
    • Output: "modal dialog design pattern in aria authoring practices 1.1, link"
  • Result: (pass)
    • command: Swipe Right (Next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: before target
      • virtual cursor location: before target
    • location after command: within target
    • Output: "add delivery address, web dialog..."
More information
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • command: VO + Left Arrow (Read previous item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: within target
      • virtual cursor location: within target
    • location after command: before target
    • Output: Unable to navigate out of the dialog object and the dialog role is conveyed when entering the container is focused by VO
  • Result: (pass)
    • command: VO + Right arrow (Read next item)
    • before the command was executed
      • mode: auto (mode not explicitly)
      • keyboard focus location: target
      • virtual cursor location: target
    • location after command: before target
    • Output: Unable to navigate out of the dialog object and the dialog role is conveyed when entering the container is focused by VO
More information
Windows Speech RecognitionChromenot applicable-More information

Extended Support for: dialog role: convey the boundaries of the dialog

These are less common combinations

ATBrowserHas SupportOutputAction
Dragon Naturally SpeakingIEnot applicable-More information
Dragon Naturally SpeakingFirefoxnot applicable-More information
JAWSEdgeunknown-More information
NarratorFirefoxunknown-More information
NarratorChromeunknown-More information
NarratorIEunknown-More information
NVDAIEunknown-More information
NVDAEdgeunknown-More information
TalkBackFirefoxunknown-More information
Voice Access (Android)Firefoxnot applicable-More information
VoiceOver (iOS)Chromeunknown-More information
VoiceOver (macOS)Chromeunknown-More information
VoiceOver (macOS)Firefoxunknown-More information
OrcaChromeunknown-More information
Voice Control (MacOS)Chromenot applicable-More information
Voice Control (MacOS)Firefoxnot applicable-More information
Windows Speech RecognitionEdgenot applicable-More information
Back to top

History

  • 2019-08-13 Test created