2015-02-15 13 views
1

Нужно ли мне aria-label атрибутов, когда я использую h-карту (это для контактной информации компании в нижнем колонтитуле страницы)?aria-label, h-card или оба?

<div class="h-card"> 
    <a class="u-url" href="http://example.com"> 
    <img src="http://example.com/static/logo.svg" alt="Example Logo"> 
    <span class="p-name sr-only">Example Corp.</span> 
    </a> 
    <div aria-label="Address" class="p-adr h-adr"> 
    <span class="p-locality">Eugene</span> 
    <span class="p-region">OR</span> 
    <span class="p-postal-code">97403</span> 
    </div> 
    <a aria-label="Telephone" class="p-tel" href="tel:12345678">(12) 345-678</a> 
</div> 

Являются ли эти арии яркими или нет, они приносят некоторую ценность? Должны ли быть более подробные атрибуты aria-? (? И если да, то какие)

ответ

3

WAI-ARIA и Microformats не "конкурировать":

  • WAI-ARIA является основой для повышения доступности вашего веб-контента.

  • Microformats - это соглашение о разметке структурированных данных на ваших HTML-страницах.

Они имеют разные цели, и потребители WAI-ARIA не обязательно поддерживают Microformats, и потребители микроформатами не обязательно поддерживают WAI-ARIA.

Итак, при принятии решения о необходимости использования атрибута WAI-ARIA aria-label в вашем примере проигнорировать, используете или как используете Microformat h-card и наоборот. Они не взаимодействуют друг с другом.

+1

(Я не расширился, если вы * должны * использовать 'aria-label' в этом примере, так как я думаю, что это другой вопрос, на который лучше всего ответить в отдельном вопросе.Однако, спрашивая, какие атрибуты WAI-ARIA вы можете использовать для своего контента, может быть слишком широким для Stack Overflow, если вы не придумаете начальную точку и вопрос об этом.) – unor

2

Не рекомендуется использовать aria-label; в худшем случае, прокручиватель закончит считывание арии-метки вместо вашего контента, что делает его менее доступным.

As spec'd, значение aria-label, если оно присутствует, используется вместо содержимого элемента (несколько упрощается); но на практике поведение варьируется в зависимости от типа элемента и конкретного используемого браузера/браузера;

Как выясняется, в случае или aria-label используется на SPAN,

  • VoiceOver на Mac считывает метку вместо Контента

  • NVDA и JAWS на Windows, игнорировать aria-label прямо и просто зачитал содержимое div/span. (Это может измениться в некоторых будущих обновлениях этих инструментов ...)

В лучшем случае его игнорируют; в худшем случае он заменяет ваш фактический контент. Лучше не использовать его в вашем случае.

ARIA может быть очень полезным при использовании тщательно; но проблемы с совместимостью с браузером означают, что, к сожалению, он заполнен подводными камнями; если вы собираетесь использовать его вообще, рекомендуем проверить спецификации, а также убедиться, что вы протестируете с помощью реальных прошивок, чтобы вы могли убедиться, что использование арии не имеет непредвиденных последствий для того, чтобы сделать ваш контент менее доступным !

+1

Я знаю, что мы не должны использовать комментарии к скажите спасибо, но спасибо! Это было очень полезно. – thebjorn

+0

Знаете ли вы, верно ли это для «labelledby»? Как и в документе W3C, указано следующее: «Если текст ярлыка отображается на экране, авторам СЛЕДУЕТ использовать aria-labelledby и НЕ ДОЛЖНО использовать aria-label. Используйте aria-label, только если интерфейс таков, что невозможно на экране есть видимая метка ». – Marian

+0

Моей целью было бы использовать только aria-label или aria-labelledby на вещах, которые, естественно, имели бы LABEL - в частности, элементы управления текстом, переключатели, флажки, выборки и т. П. - и даже в этих случаях обычная LABEL обычно предпочтительнее , В противном случае, как и в случае выше, вы можете столкнуться с несогласованностью с тем, считывается ли надпись с содержанием. – BrendanMcK

 Смежные вопросы

  • Нет связанных вопросов^_^