open-webui/src/lib/components/chat/ModelSelector
Classic298 08f1c823ad
fix(a11y): improve model selector accessibility with proper listbox/option pattern (#21706)
- Replace incorrect aria-roledescription='model-item' with role='option' and aria-selected on ModelItem.svelte. The previous attribute was not a valid ARIA role description and provided no useful information to screen readers.

- Add contextual aria-label to each model item button (e.g. 'Select GPT-4 model') instead of just the raw model name, making the action clear to screen reader users.

- Add role='listbox' and aria-label='Available models' to the scrollable model list container in Selector.svelte so screen readers announce the container's purpose and navigate items correctly.

- Make the model selector trigger button's aria-label dynamic: it now announces 'Selected model: GPT-4' when a model is selected, falling back to 'Select a model' when nothing is selected.

- Add aria-label to the eject (unload) button in ModelItem.svelte so screen readers announce its purpose.

- Add aria-label to the cancel download button in Selector.svelte with the specific model name being canceled.

- Improve model profile image alt text from generic 'Model' to contextual '{{modelName}} profile image'.
2026-02-21 16:14:09 -06:00
..
ModelItem.svelte fix(a11y): improve model selector accessibility with proper listbox/option pattern (#21706) 2026-02-21 16:14:09 -06:00
ModelItemMenu.svelte chore: format 2026-02-17 01:11:48 -06:00
Selector.svelte fix(a11y): improve model selector accessibility with proper listbox/option pattern (#21706) 2026-02-21 16:14:09 -06:00