An element's accessible name is computed from its text content, `aria-label`, `aria-labelledby`, `alt`, and `title`, combined by a fixed priority order (the accessible name computation). An icon-only button — a trash icon used as delete, say — can be visually obvious yet compute to an empty name, so a screen reader just says "button."
Adding `aria-label="Delete item"` changes nothing visually but fills in the accessibility tree, so it now announces "Delete item, button." Browser devtools' Accessibility panel lets you inspect the computed name directly.
The demo's left button has no label, so its computed name is empty; the right one has `aria-label`, shown filled in through an inspector-style readout.
When to use
Whenever you build an icon-only button, make checking aria-label a habit. The surest check is opening devtools' Accessibility panel and confirming Computed name isn't empty.