github / github/auto-complete-element
Add client-side options support
- Vorherrschende Sprache
- JavaScript
- Sterne
- 407
- Forks
- 57
- Ø Merge
- 1 T. 7 Std.
- Gemergte PRs (30 T.)
- 5
Beschreibung
# Problem
If there are static options passed into the element, the options are deleted on request for filtered options.
# Request
Client-side options should be supported and have filtering available. TBD: Do we allow both client-side (such as default options) *and* server-side options?
# Implementation concerns
## Accessibility
Ensure that any default / client-side options are announced when the input is focused. `screen-reader-announcements.ts` can assist with this.
When the options list isn't visible, an `aria-describedby` should be added to the input pointing to the feedback element. This should only be if the element has client-side options. Remove this `aria-describedby` when the user interacts with any key, and add it back in when the auto-complete-element is blurred. cc @github/accessibility and @jscholes for reference. "aria-live won't cut it" for this scenario
## Developer Notes
There is some initial setup done in `autocomplete.ts` to detect client-side options, but all of this can be removed / reworked, as long as accessibility considerations are met.
Beitragsleitfaden
Rechercherichtung
Beginne in autocomplete.ts damit, die bestehende clientseitige Erkennung von Optionen zu prüfen, und lies anschließend screen-reader-announcements.ts für das Verhalten zur Barrierefreiheit. Verfolge, wie Optionen während gefilterter Anfragen entfernt werden, und definiere die unterstützte Interaktion zwischen clientseitigen und serverseitigen Optionen. Erledigt ist die Aufgabe, wenn clientseitige Optionen verfügbar bleiben, die Filterung funktioniert und das beschriebene Verhalten für Fokus, Tastatur, Blur und aria-describedby abgedeckt ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- accessibility, frontend, web-dev
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100