Aria 标签和 Alt 属性
Aria Labelling and Alt Attribute
在决定哪些属性应该在下面的代码中放在哪里时感到很困惑:
<div class="image-container">
<img src="images/Local/col-3/03 Rooftops.jpg" />
<div class="image-overlay">
<div class="image-title">Rooftops</div>
</div>
</div>
协助放置 Alt 属性、aria-label 以及如果图像容器上需要 'role' 会很棒。
谢谢
ARIA的一个基本原则,role
属性背后的标准是避免它们,如果可以使用语义HTML元素:The first rule of ARIA
最后,还有 <figure>
元素,它允许使用 <figcaption>
对媒体进行分组。这似乎适合您的用例。
对于可访问性而言,最关键的是在 alt 属性中提供替代文本,该文本描述图像(如果它是信息性的)。例如“与人社交的屋顶”之类的。
如果您为视力正常的用户提供的说明足以解释 non-sighted 个用户,您可以将 alt 留空,但它的存在是强制性的:alt=""
.
<figure class="image-container">
<img src="images/Local/col-3/03 Rooftops.jpg" alt="Rooftops with people socialising" />
<figcaption class="image-overlay">
<div class="image-title">Rooftops</div>
</figcaption>
</figure>
这就是基于标准的理论。但是对于古怪的现实,不同的浏览器和屏幕阅读器支持不同的部分,您可能需要混合使用以支持某些版本。参见 Scott O'Hara's article from 2019 on figure support in different browsers/screenreaders。
如果由于某种原因,你不能使用语义正确的HTML,还有figure
的作用,通过aria-labelledby
你可以在图形和图形之间建立关联它的标题:ARIA:figure role and example
在决定哪些属性应该在下面的代码中放在哪里时感到很困惑:
<div class="image-container">
<img src="images/Local/col-3/03 Rooftops.jpg" />
<div class="image-overlay">
<div class="image-title">Rooftops</div>
</div>
</div>
协助放置 Alt 属性、aria-label 以及如果图像容器上需要 'role' 会很棒。
谢谢
ARIA的一个基本原则,role
属性背后的标准是避免它们,如果可以使用语义HTML元素:The first rule of ARIA
最后,还有 <figure>
元素,它允许使用 <figcaption>
对媒体进行分组。这似乎适合您的用例。
对于可访问性而言,最关键的是在 alt 属性中提供替代文本,该文本描述图像(如果它是信息性的)。例如“与人社交的屋顶”之类的。
如果您为视力正常的用户提供的说明足以解释 non-sighted 个用户,您可以将 alt 留空,但它的存在是强制性的:alt=""
.
<figure class="image-container">
<img src="images/Local/col-3/03 Rooftops.jpg" alt="Rooftops with people socialising" />
<figcaption class="image-overlay">
<div class="image-title">Rooftops</div>
</figcaption>
</figure>
这就是基于标准的理论。但是对于古怪的现实,不同的浏览器和屏幕阅读器支持不同的部分,您可能需要混合使用以支持某些版本。参见 Scott O'Hara's article from 2019 on figure support in different browsers/screenreaders。
如果由于某种原因,你不能使用语义正确的HTML,还有figure
的作用,通过aria-labelledby
你可以在图形和图形之间建立关联它的标题:ARIA:figure role and example