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

button element (html)

Screen reader support level: supported

Voice Control support level: partial (26/27)

On this page

About this feature

The button element represents a button labeled by its contents.

Age of results

Results across all tests for this feature range from 20 days ago to a year ago. Detailed dates and version information can be found in associated tests.

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

Expectations

What are expectations?

Screen Reader support by expectation

ExpectationJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeIEFirefoxEdgeChromeFirefoxFirefoxChromeSafariSafari
MUST convey its namesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
MUST convey its rolesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
SHOULD provide shortcuts to jump to this rolesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
MAY convey inner-text name changes when in focusnonesupportednonesupportednonenonenonenonesupportedpartial

Voice Control support by expectation

ExpectationDragon Naturally SpeakingVoice Access (Android)Voice Control (iOS)Voice Control (MacOS)Windows Speech Recognition
ChromeChromeSafariSafariChrome
MUST convey its namesupportedsupportedsupportedpartial (2/3)supported
MUST convey its rolesupportedsupportednot applicablesupportedsupported

Expectation: convey its name

Rationale:

A screen reader user needs to know what to enter.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: MUST

Examples:

  • A screen reader might announce the button as something like "<name>, button".
  • Voice control software will let the user say something like "click <name>" to activate the control.
Voice Control support for 'MUST convey its name'
TestDragon Naturally SpeakingVoice Access (Android)Voice Control (iOS)Voice Control (MacOS)Windows Speech Recognition
ChromeChromeSafariSafariChrome
APG Actions Menu Button Example Using aria-activedescendantsupportedsupportedsupportednonesupported
Disclosure widget (show/hide)supportedsupportedsupportedsupportedsupported
Basic HTML button testsupportedsupportedsupportedsupportedsupported

Expectation: convey its role

Rationale:

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

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: MUST

Examples:

  • A screen reader might be announce the role as something like "button".
  • Voice control software will let the user say something like "click button".
Voice Control support for 'MUST convey its role'
TestDragon Naturally SpeakingVoice Access (Android)Voice Control (iOS)Voice Control (MacOS)Windows Speech Recognition
ChromeChromeSafariSafariChrome
APG Actions Menu Button Example Using aria-activedescendantsupportedsupportednot applicablesupportedsupported
Disclosure widget (show/hide)supportedsupportednot applicablesupportedsupported
Basic HTML button testsupportedsupportednot applicablesupportedsupported

Expectation: provide shortcuts to jump to this role

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
Screen Reader support for 'SHOULD provide shortcuts to jump to this role'
TestJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeIEFirefoxEdgeChromeFirefoxFirefoxChromeSafariSafari
Basic HTML button testsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported

Expectation: convey inner-text name changes when in focus

Rationale:

The user needs to know that that the name of a control has changed after interacting with it. This may be to convey a new purpose or to convey a state change which is provided by the name.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MAY
  • Voice Control: NA

Notes:

This expectation is only for when the button is focused by a screen reader (either keyboard focus or virtual focus). It is not meant to act like a live region.

Screen Reader support for 'MAY convey inner-text name changes when in focus'
TestJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeIEFirefoxEdgeChromeFirefoxFirefoxChromeSafariSafari
HTML button name change testnonesupportednonesupportednonenonenonenonesupportedpartial