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.

button element (html)

Screen Reader support level: supported

Voice Control support level: partial (43/60)

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

Caution

Failing or partial results may be out of date. The oldest result is from 4 years ago. Consider running the associated tests and contributing results.

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 RecognitionWindows Voice Access
ChromeChromeSafariSafariEdgeChromeEdgeChrome
MUST convey its namesupportedsupportedsupportedpartial (3/4)supported with 2 unknown resultssupportedsupported with 3 unknown resultssupported with 3 unknown results
MUST convey its rolesupportedsupportednot applicablesupportedsupported with 2 unknown resultssupportedsupported with 3 unknown resultssupported with 3 unknown results

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