Помогает ли скрытие элементов flash и iFrames с помощью aria-hidden=true сделать мой веб-сайт доступным?

Я работаю в компании, занимающейся дизайном веб-сайтов, и у нас много flash-проектов, и клиенты постоянно встраивают iframe в Facebook и т. д.

Например, когда я провожу свой тест с помощью программы для чтения с экрана, мне кажется, что это плохой пользовательский опыт, когда вы попадаете в Iframe, потому что большинство каналов Facebook загружают встроенную загрузку навсегда, и вы можете даже застрять в iFrame, загружающем ajax.

Я хочу знать, считается ли плохой практикой скрывать элементы flash/iframes от программ чтения с экрана с помощью aria-hidden? Кроме того, делает ли мой сайт доступным, скрывая их?

Спасибо!


person Gcamara14    schedule 26.06.2017    source источник
comment
Пожалуйста, помните, что не все пользователи программ чтения с экрана слепы. adrianroselli.com/2017/02/   -  person aardrian    schedule 27.06.2017


Ответы (3)


В основном это зависит от ситуации.

Если ваш iframe не виден (например, служит прокси-сервером ajax для технических вопросов, связанных с разными источниками), может потребоваться aria-hidden (когда настройка display:none невозможна).

Во многих других случаях iframe будет состоять из видимых и интерактивных элементов.

Скрытие с помощью aria-hidden сделает невозможным чтение, например, для неграмотного человека, использующего программу чтения с экрана, которая может выбрать iframe, желающего прочитать внутреннее содержимое.

Конечно, для этого требуется доступ к содержимому iframe. Если это не так, то лучше использовать aria-hidden и предоставить доступную альтернативу.

person Adam    schedule 27.06.2017
comment
Ах, я вижу, спасибо за ваш ответ, он многое объясняет, но что вы думаете о флэш-элементах? - person Gcamara14; 27.06.2017
comment
В проигрыватель Flash встроена поддержка технологий доступа к экрану (adobe.com/accessibility/products/flashplayer. html). Таким образом, ответ будет таким же, как и для iframe. Если внутри вашего флеш-объекта есть текст, и он виден на экране, вы должны предоставить ему поддержку специальных возможностей. В противном случае вы можете скрыть его, например, если он чисто декоративный. - person Adam; 28.06.2017

Я думаю, что безоговорочное сокрытие - плохая идея. Все пользователи имеют право видеть одно и то же содержимое.

  1. вы можете добавить ссылку, чтобы пропустить iframe над iframe, как показано ниже.

    <a href="#skipfacebook" class="blind">skip facebook feed</a>
    <iframe></iframe>
    <div id="skipfacebook" name="skipfacebook">Next content</div>
    
  2. Я не знаю, какую программу чтения с экрана вы используете, но, насколько я знаю, вы можете пропустить iframe с помощью программы чтения с экрана, поскольку программа чтения с экрана имеет много горячих клавиш, таких как «просмотреть все ссылки». например, вы можете перейти к предыдущему элементу с помощью [Alt+.] и вы можете перейти к следующим элементам с помощью [Alt+,] в известной мне программе чтения с экрана.

person VvV    schedule 26.06.2017
comment
aria-hidden="true" — это явное указание браузерам для слабовидящих людей, что тот или иной элемент им не будет полезен. Прятаться — это его основная цель, и это очень хорошая идея — использовать его там, где это уместно. - person ceejayoz; 27.06.2017
comment
@ceejayoz Я с тобой не согласен. Безоговорочное сокрытие нехорошо. вы не можете прочитать содержимое с area-hidden=true с помощью программы чтения с экрана. Вы должны использовать area-hidden=true, если содержимое бесполезно для пользователей, использующих программу чтения с экрана, например, затемненный слой. Я думаю, что фид facebook важен с точки зрения их содержания, и вам нужно предлагать одинаковый контент всем пользователям. Незрячие люди могут использовать программу чтения с экрана, так что лучше не скрывать контент. - person VvV; 27.06.2017
comment
Да, это отличный момент, безоговорочное сокрытие нехорошо и несправедливо. Но как насчет flash, следует ли использовать aria-hidden для элементов Flash? - person Gcamara14; 27.06.2017
comment
@Gcamara14 Gcamara14 Это зависит от контента. Если Flash показывает только визуальную сцену без текста, например гору, вы можете скрыть ее. Однако, если это меню или текст, вам не нужно его скрывать. некоторые программы чтения с экрана также могут читать текст во Flash. Вы можете добавить альтернативный текст на кнопку или графический объект во Flash. - person VvV; 28.06.2017

Если контент или функциональность могут использоваться одной группой людей, они должны быть доступны всем. Если вы обслуживаете недоступный контент внутри iframe, скрывая его, чтобы слепые пользователи не знали, что это не ваша карточка «выйти из тюрьмы бесплатно», это нарушение Руководящих принципов доступности веб-контента, и в зависимости от того, что страна, в которой вы живете, может быть нарушением вашего закона о доступности.

Как кто-то сказал выше, если содержимое iframe носит чисто декоративный характер, то скрыть его можно, но если оно содержит важную информацию или интерактивные элементы, то притворяться перед одной группой пользователей, что его не существует, — не вариант.

person a11y_guru    schedule 30.05.2019