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

button element (html)

Screen reader support level: supported with 1 unknown result

Voice Control support level: partial (26/28)

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 3 months ago to 2 years ago. Detailed dates and version information can be found in associated tests.

Failing and partial results are between 2 years ago and 2 years ago.

Expectations

What are expectations?

Screen Reader support by expectation

ExpectationJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
MUST convey its namesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
MUST convey its rolesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
SHOULD provide shortcuts to jump to this rolesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
MAY convey inner-text name changes when in focusnonenonenonesupportednonenonenonenonenonesupportedpartial

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.

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

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)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
Basic HTML button testsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported

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)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
HTML button name change testnonenonenonesupportednonenonenonenonenonesupportedpartial