angular / angular/components

bug(matTooltip): Add option to set aria-labelledby rather than aria-describedby

Offen
#23,284 7 Kommentare 11 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Accessibility area: material/tooltip feature P4
Vorherrschende Sprache
TypeScript
Sterne
25k
Forks
6.8k
Ø Merge
1 T. 8 Std.
Gemergte PRs (30 T.)
91

Beschreibung

#### Reproduction

matTooltip is only able to apply aria-describedby to its host element. This is not optimal for host elements that have no aria-label or text contents.

#### Expected Behavior

What behavior were you expecting to see?

For a button with no textual label, eg a MatIconButton, a tooltip typically provides a label rather than a description.
Having matTooltip apply aria-labeledby rather than would be better in these cases.

At the very least, it would be good to have an Input to configure matTooltip's labeledby vs describedby preference.
Extra credit: change the default for obvious cases like MatIconButton.

#### Actual Behavior

What behavior did you actually see?

matTooltip applies aria-describedby, with no option to change this behavior.

#### Environment

- Angular: 12
- CDK/Material: 12
- Browser(s): any
- Operating System (e.g. Windows, macOS, Ubuntu): any

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginnen Sie damit, die Implementierung von matTooltip und das bestehende Verhalten bezüglich der Barrierefreiheit zu lokalisieren. Prüfen Sie, wie aria-describedby auf Hosts angewendet wird, definieren Sie anschließend die unterstützte aria-labelledby-Konfiguration und verifizieren Sie, dass die Beschriftung von Tooltips für unbeschriftete Schaltflächen funktioniert, ohne das Verhalten der Beschreibung zu beeinträchtigen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
angular, typescript
Bereich
accessibility, frontend
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.