Skip to main content Home
About About the Design SystemRoadmap
Get started OverviewDesignersDevelopers
Foundations OverviewColorGridIconographySpacingTypography
Tokens Overview Global colorbox shadowTypographyborderopacityspacelengthIconBreakpointsMedia Queries
Elements All elements Accordion Alert Announcement Audio player Avatar Back to top Badge Blockquote Breadcrumb Button Card Chip Code block Call to action Dialog Disclosure Footer Health index Icon Jump links Navigation (primary) Navigation (secondary) Pagination PopoverPlanned Progress stepsPlanned Site status Skip link Spinner Statistic Subnavigation Surface Switch Table Tabs Tag Tile Timestamp Tooltip Video embed
Theming OverviewColor PalettesCustomizingDevelopers
Patterns All PatternsCardTabsFilterFormLinkLink with iconLogo wallSearch barSkip navigationSticky bannerSticky cardTileVideo thumbnail
Personalization All Personalization PatternsAnnouncement
Accessibility FundamentalsAccessibility toolsAssistive technologiesCI/CDContentContributorsDesignDevelopmentManual testingResourcesScreen readers
Design/code status Release notes Get support

Button

OverviewStyleGuidelinesCodeAccessibilityDemos
ImplementationKeyboard interactionsFocus orderTouch targetsScreen reader guidelinesARIA Authoring Practices Guide (APG)Web Content Accessibility GuidelinesImplementationKeyboard interactionsFocus orderTouch targetsScreen reader guidelinesARIA Authoring Practices Guide (APG)Web Content Accessibility Guidelines

Implementation

  • Ensure a button can be navigated to and interacted with via keyboard and other assistive technologies
  • Provide unique and descriptive text content for a button or an aria-label if the button does not contain visible text
  • Provide context that a link will open in a new tab or window when using a button link
  • Do not place other interactive elements within a button

Keyboard interactions

Users should have the ability to navigate to and interact with buttons using their keyboard.

Image of a button group showing focus indicators and tab key labels
Key Result
Tab Moves focus to the next button or interactive element
Shift + Tab Moves focus to the previous button or interactive element
Enter Activates an action

Focus order

A logical focus order helps keyboard users operate our websites. Elements need to receive focus in an order that preserves meaning, therefore the focus order should make sense and not jump around randomly. For buttons in groups, the focus order is from left to right and top to bottom when stacked. Disabled buttons are not included in the focus order unless they include the aria-disabled=“true” attribute and display a tooltip when focused.

Image of rows of button groups with numbers; one row has focus indicators only and the other has focus indicators and a tooltip

Touch targets

Buttons in groups are adequately spaced for optimal touch targets.

Image of button group with touch targets on top of each button

Screen reader guidelines

Buttons should communicate the following to users:

  • Their intended purpose or function
  • The toggle state if it has two states
  • An instruction that a menu will open

ARIA Authoring Practices Guide (APG)

Learn to use the accessibility semantics defined by the Accessible Rich Internet Application (ARIA) specification to create accessible web experiences.

View APG resources

Web Content Accessibility Guidelines

Understanding documents provide detailed explanations for Web Content Accessibility Guidelines (WCAG) guidelines and success criteria.

© 2021-2025 Red Hat, Inc. Deploys by Netlify