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

Test: HTML button[type="button" disabled aria-haspopup="true"]

Current support: partial (5/9)

This test ensures that the disabled state is communicated to screen readers. The button should not be focusable, per the HTML5 spec.

Run this test and and submit your results

On this page

Test HTML

open the test page in a new tab
<!DOCTYPE html>
<html lang="en">
<head>
<title>HTML button[type="button"] element with a disabled attribute</title>
</head>
<body>
<p>Use the screen reader to announce the target element.</p>

<button id="target" disabled aria-haspopup="true">target</button>
</body>
</html>

Support tables

Expectations are conditions that must be met for the feature to be considered as "supported". Only "MUST" expectations need to be met for minimal "support". "SHOULD" and "MAY" expectations indicates support that goes above and beyond. Note that there is not an explicit standard that dictates these expectations, and as such, they are likely opinionated. As such, a feature might not meet all "MUST" expectations but still be usable (potentially frustratingly so). Additionally, the assistive technology may provide many different commands to read, navigate, or otherwise interact with a feature. Only one command is required to pass for the expectation to be minimally supported.

Summary of support by expectation type

MUSTSHOULDMAY
partial (5/9)

Summary of support by expectation and assistive technology

ExpectationDragon Naturally SpeakingJAWSNarratorNVDATalkBackVoiceOver for iOSVoiceOver for macOS
disabled attribute
MUST convey the disabled statenot applicablesupported with 1 unknown resultsupportedsupported with 1 unknown resultnonenonesupported

* means that some support is hidden behind settings

Detailed support results by expectation

disabled attribute: The screen reader MUST convey the disabled state

Examples of assistive technologies support this expectation:

  • Screen readers might convey the disabled state by announcing "disabled", "unavailable", or "dimmed"
  • Screen readers might convey the disabled state of certain embedded controls, such as the option element, by skipping it when navigating embedded controls

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

This expectation is from the disabled attribute feature.

ATBrowserHas SupportOutputAction
Dragon Naturally SpeakingGoogle Chromenot applicable-More information
JAWSGoogle Chromeunknown-More information
JAWSInternet Exploreryes
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • Output: (target was not focused)
  • Result: (pass)
    • command: Down arrow (Read next item)
    • Output: target button menu unavailable
More information
JAWSFirefox (desktop)yes
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • Output: (target was not focused)
  • Result: (pass)
    • command: Down arrow (Read next item)
    • Output: target button menu unavailable
More information
NarratorMicrosoft Edgeyes
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • Output: (input was not focused)
  • Result: (pass)
    • command: Down arrow (Read next item (scan mode))
    • Output: button disabled target
Notes: Note: the haspopup property was not announced, but this test does not test that aspect.
More information
NVDAGoogle Chromeunknown-More information
NVDAFirefox (desktop)yes
  • Result: (pass)
    • command: down arrow (Read next item)
    • Output: menu button unavailable submenu target
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • Output: (target was not focused)
More information
TalkBackGoogle Chrome (android)none
  • Result: (fail)
    • command: Swipe right (Read next item)
    • Output: "target, pop up button"
Notes: did not announce "double tap to activate"
More information
VoiceOver for iOSSafari (iOS)none
  • Result: (fail)
    • command: Swipe down (Next item (as set by the rotor))
    • Output: target, shows popup
  • Result: (fail)
    • command: Swipe Right (Next item)
    • Output: target, shows popup
More information
VoiceOver for macOSSafari (macOS)yes
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • Output: (target was not focused)
  • Result: (pass)
    • command: VO + Right arrow (Read next item)
    • Output: target, dimmed, popup button
More information

Extended Support for: disabled attribute: The screen reader MUST convey the disabled state

These are less common combinations

ATBrowserHas SupportOutputAction
Dragon Naturally SpeakingInternet Explorernot applicable-More information
Dragon Naturally SpeakingFirefox (desktop)not applicable-More information
JAWSMicrosoft Edgeunknown-More information
NarratorFirefox (desktop)unknown-More information
NarratorGoogle Chromeunknown-More information
NarratorInternet Explorerunknown-More information
NVDAInternet Explorerunknown-More information
NVDAMicrosoft Edgeunknown-More information
TalkBackFirefox (Android)unknown-More information
VoiceOver for iOSGoogle Chrome (ios)unknown-More information
VoiceOver for macOSGoogle Chromeunknown-More information
VoiceOver for macOSFirefox (desktop)unknown-More information
Back to top

Dates and Versions

ATAT VersionBrowserBrowser versionOS versionDate tested
JAWS2018.1808.10Internet Explorer11.13418092018-12-03
JAWS2018.1808.10Firefox (desktop)6318092018-12-03
Narrator1809Microsoft Edge44.1776318092018-12-03
NVDA2018.3.2Firefox (desktop)63.0.118092018-12-03
TalkBack7.3.0Google Chrome (android)757.02019-07-27
VoiceOver for iOS12.1Safari (iOS)12.112.12018-12-03
VoiceOver for macOS10.14.1Safari (macOS)12.0.110.14.12018-12-03

History

  • 2018-12-03 Test created
  • 2018-12-03 vo_ios/ios_saf support updated
  • 2019-07-27 Talkback results added