Accessibility: Add aria-live region for filter result announcements
I maintainer di solito rispondono entro 1 giorno
Una pull request collegata è già stata integrata.
- #48 di @aipd506 — integrata
Valutazione
- Difficoltà
- 1/5
- Tempo stimato
- Meno di un'ora
- Idoneità per principianti
- 94/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- react, typescript
- Ambito
- accessibility, frontend
Direzione di ricerca
Apri src/components/directory/directory-client.tsx e ispeziona la logica di aggiornamento del filtro intorno alle righe 197-210 e l’intestazione dei risultati intorno alle righe 486-490. Aggiungi la live region polite specificata vicino al conteggio dei risultati, quindi verifica che il filtraggio annunci “X offers found” e che un risultato vuoto annunci “No offers found”.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
When users apply filters on the directory page, the result count updates visually but screen readers don't announce the change. Adding an aria-live region would make filter changes accessible.
Current State
- Filter results update in
src/components/directory/directory-client.tsx(line 197-210) - Result count displayed at line 487-489:
{filtered.length} offers - No
aria-liveregion for dynamic content updates
Expected Behavior
When filters change and results update, screen readers should announce:
- "X offers found" or "No offers found"
- This helps users who rely on assistive technology
Good First Issue Because
- Small, focused accessibility improvement
- Follows WCAG 2.1 AA guidelines (PRD §10)
- Good introduction to accessibility patterns in React
- Single component change
Files to Modify
src/components/directory/directory-client.tsx
Implementation Approach
Add an aria-live="polite" region that updates with the result count:
<div aria-live="polite" className="sr-only">
{filtered.length === 0 ? "No offers found" : `${filtered.length} offers found`}
</div>
Place this near the results header (around line 486-490).
- Lingua principale
- TypeScript
- Stelle
- 1
- Fork
- 6
- Merge medio
- 11h 39m
- PR unite (30g)
- 16
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Your-Voldemort/StudentStack
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
Your-Voldemort/StudentStack#42 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
Your-Voldemort/StudentStack#41 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
Your-Voldemort/StudentStack#40 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
Your-Voldemort/StudentStack#38 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
Your-Voldemort/StudentStack#37 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Your-Voldemort/StudentStack
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
NaturalIntelligence/fast-xml-parser#890 · 1 commento ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
zsviczian/obsidian-excalidraw-plugin#3000 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
pnpm/get.pnpm.io#68 ·
-
[BUG] Cloudflare KV binding 模式下 kvDriver.list() 沿用 EdgeOne 语义,字段名不匹配导致 key 格式下初始化 500 并耗尽 list 配额Forse già presa @wumingzhinu l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
OpenListTeam/OpenList-Worker#125 ·
I maintainer di solito rispondono entro 2 giorni
-
Android (vision-camera-location): HybridLocationManager never quits its HandlerThread on disposeAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
margelo/react-native-vision-camera#4217 ·
I maintainer di solito rispondono entro 4 giorni