# Buttons must have discernible text

Source: https://www.fixreports.com/issues/button-name

WCAG 4.1.2 Name, Role, Value · Level A

Some buttons have no accessible name, so screen reader users hear only 'button'.

## What this rule checks
Ensure buttons have discernible text.

## Why it matters
WCAG 4.1.2 requires every control to have a name. Unnamed buttons often include quantity steppers, close buttons and slider arrows.

## How to fix it
### On any website
1. Find the buttons that have no name, usually buttons that show only an icon.
2. Add visible text, visually hidden text, or an aria-label that says what the button does (for example aria-label="Close" or aria-label="Increase quantity").

### On Shopify
1. Find the buttons that have no name, usually buttons that show only an icon.
2. Add visible text, visually hidden text, or an aria-label that says what the button does (for example aria-label="Close" or aria-label="Increase quantity").

### On WooCommerce and WordPress
1. Find the buttons that have no name, usually buttons that show only an icon.
2. Add visible text, visually hidden text, or an aria-label that says what the button does (for example aria-label="Close" or aria-label="Increase quantity").

## How to check the fix
- Re-scan the affected pages.
- Check the buttons with a screen reader.

## Sources
- axe-core rule documentation (Deque): https://dequeuniversity.com/rules/axe/4.13/button-name
- Understanding WCAG 4.1.2 (W3C): https://www.w3.org/WAI/WCAG22/Understanding/name-role-value
