Комбобокс — отдельный интерфейсный сценарий
У Gradio в этом году был хороший показательный баг: незрячий пользователь Pinokio написал, что listbox/combobox в приложениях на Gradio почти не работает с NVDA/Narrator. Обход через object navigation есть, но сам автор прямо пишет: пользоваться так непрактично.
Почему это важно. Gradio стал стандартным UI-слоем для множества AI-инструментов. Если dropdown выбора модели, голоса, файла или режима не читается как нормальный combobox, человек может открыть приложение, но застрять на базовой настройке.
Команда признала проблему в кастомном multi-select combobox и позже закрыла issue через PR с ARIA-pattern для Dropdown/Listbox.
Что проверять у себя:
• элемент имеет понятные name/role/value;
• экранный диктор слышит выбранный пункт и количество вариантов;
• стрелки, Enter, Escape работают предсказуемо;
• состояние selected/expanded меняется и визуально, и в дереве доступности;
• старый скрытый select не торчит вторым «мусорным» listbox рядом с новым контролом.
Кастомный dropdown можно делать. Но тогда его надо тестировать как самостоятельный сценарий, а не как стилизованный div.
Источник: https://github.com/gradio-app/gradio/issues/12855
Post #236
3