В UI Kit La Suite numérique был открытый accessibility issue по DropdownMenu: триггер открывал меню, но не сообщал вспомогательным технологиям, что это именно меню и открыто оно сейчас или закрыто.
Было: пользователь доходил до кнопки, нажимал Enter — меню появлялось, но screen reader не получал явного состояния
expanded/collapsed. При повторной навигации было сложнее понять, что произошло и куда дальше двигаться.Что мешало: для зрячего пользователя изменение видно визуально, а для пользователя screen reader состояние компонента должно быть выражено программно. Без
aria-expanded и связи с меню интерфейс хуже объясняет сам себя.Что изменили: в DropdownMenu добавлены
aria-haspopup="menu", aria-expanded и связь триггера с меню через aria-controls во время открытия.Стало: триггер теперь сообщает, что открывает меню, и отдаёт актуальное состояние. Это маленький PR, но он закрывает конкретный кусок блокирующей проблемы и делает компонент спокойнее для клавиатурной и screen reader-навигации.
Разбор и правка сделаны с помощью Accessibility Auditor Skill — инструмента для поиска и исправления accessibility-проблем в реальных интерфейсах.
Доказательство:
Issue: https://github.com/suitenumerique/ui-kit/issues/183
PR: https://github.com/suitenumerique/ui-kit/pull/228