Контекст: публикация образовательных электронных книг (HTML + CSS)
У меня есть название композиции, где у меня есть такое предложение:
<p>This is <del>correct</del> <ins>incorrect</ins></p>
И важно, чтобы пользователь знал, что часть текста удаляется, а часть вставляется. У меня также есть связанный сценарий, где текст имеет подсветку, которая имеет семантическое значение. Например:
<p>This is an <span class="highlight-blue">adjective</span> and this is a <span class="highlight-red">noun</span>. </p>
Консультант по специальностям рекомендовал мне использовать role = "region" + aria-label для этих ситуаций.
Например:
<p>This is an <span role="region" aria-label="adjective" class="highlight-blue">adjective</span> and this is a <span role="region" aria-label="noun" class="highlight-red">noun</span>. </p>
Здесь необходима гибкость, потому что мы используем стандартный CSS для всех наших названий, и иногда выделение красным цветом может указывать на пассивный голос или на существительное и т. Д.
Я видел в других вопросах на этом сайте, что нельзя использовать aria-label для элементов span (или div). Также, используя Chromevox, я обнаружил, что читатель будет читать ярлык арии, но не текст внутри ярлыка арии. (У меня нет доступа к другим программам чтения с экрана для тестирования.)
Итак, мой вопрос: Каков наилучший способ чтения семантического значения этих встроенных элементов для пользователя программы чтения с экрана?
нежизнеспособные варианты
Псевдоэлемент с сокрытием CSS. Я видел решения, где вы можете создать псевдоэлемент и затем скрыть его за кадром с помощью CSS. Когда вы скрываете содержимое за пределами экрана, Kindle сталкивается с проблемами, отбрасывая большие фрагменты текста после содержимого за пределами экрана, поэтому этот вариант недопустим.