TGViewer
Frontend Interview - собеседования по Javascript / Html / Css Frontend Interview - собеседования по Javascript / Html / Css @frontendinterview · 10.4K subscribers
Post #5091 562
🔍 Убрал повтор в скринридере и сломал кнопку

Джейк Арчибальд делал кнопку-иконку «жирный» с подсказкой «Bold (⌘B)» на popover="hint". На кнопке стояли aria-label="Bold" и aria-describedby со ссылкой на подсказку.

VoiceOver читал «Bold. Bold. Command B». Чтобы убрать повтор, Джейк удалил aria-label. И кнопка осталась без доступного имени, то есть без названия для скринридера. aria-describedby добавляет только описание, имя он не заменяет.

JAWS в итоге собрал текст из соседних элементов и объявил кнопку сразу жирной и курсивной.

Чинится заменой одного атрибута: aria-labelledby вместо aria-describedby. Он тоже ссылается на подсказку по id, но берёт из неё именно имя. Теперь VoiceOver говорит «Bold. Command B. Button».

Сам Джейк советует проверять в нескольких скринридерах: один, как и один браузер, полной картины не даёт.

В статье есть и вариант, где имя и сочетание клавиш разведены по разным span.

👉 @seniorFront
  • 🔥 1
More from @frontendinterview
  1. Oct 9, 20265 офферов получили наши ребята на прошлой неделе Оффер на 4,2k долларов Оффер на 5k евро О…
  2. Oct 9, 2026🧮 Поле ввода, в которое можно вписать формулу Часто число для формы сначала надо посчитат…
  3. Oct 7, 2026🎨 Текст, который сам подбирает цвет под фон Если фон карточки задаётся фирменным цветом и…
  4. Oct 2, 2026🌈 Свечение внутри элемента, но из любого фона Подсветить элемент изнутри проще всего чере…
  5. Oct 1, 2026Ищем новичков, готовых взять свой первый заказ на разработку сайта. Опыт не нужен. Заказ:…
  6. Sep 30, 2026🚀 Два атрибута у картинки, и страница перестаёт прыгать Пока картинка грузится, тег img з…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →