Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 当一个地标元素内部也有一个标题时,它是否应该有一个aria标签?_Html_Accessibility_Wai Aria_Screen Readers_Web Accessibility - Fatal编程技术网

Html 当一个地标元素内部也有一个标题时,它是否应该有一个aria标签?

Html 当一个地标元素内部也有一个标题时,它是否应该有一个aria标签?,html,accessibility,wai-aria,screen-readers,web-accessibility,Html,Accessibility,Wai Aria,Screen Readers,Web Accessibility,屏幕阅读器用户有多个选项来访问页面上的内容。 例如,所有标题的列表,以及地标的列表。 使用aria label,您可以标记地标 考虑以下标记: 我的博客项目 问题: 上例中的aria标签s对屏幕阅读器用户有用吗?还是太过了?理解何时使用它的关键在于aria标签的行为。 所以在评论中,我问这些是内联在页面中的帖子还是链接到其他页面的摘录 这一点之所以重要,是因为aria-label的行为 如果将aria标签添加到容器中,它将覆盖该容器中的所有内容 因此,如果这些只是完整的文章,aria标签将取

屏幕阅读器用户有多个选项来访问页面上的内容。
例如,所有标题的列表,以及地标的列表。
使用
aria label
,您可以标记地标

考虑以下标记:


我的博客项目
问题: 上例中的
aria标签
s对屏幕阅读器用户有用吗?还是太过了?

理解何时使用它的关键在于
aria标签的行为。
所以在评论中,我问这些是内联在页面中的帖子还是链接到其他页面的摘录

这一点之所以重要,是因为
aria-label
的行为

如果将
aria标签添加到容器中,它将覆盖该容器中的所有内容

因此,如果这些只是完整的文章,
aria标签将取代整个博客内容

示例1-页面上的实际文章 例如:

<article aria-label="Why blueberries taste good">
    <h2>Why blueberries taste good</h2>
    <p>Some content about blueberries which could be hundreds of paragraphs long</p>
 </article>
在上面的示例中,整篇文章摘录是超链接文本的一部分,因此我们可能会决定最好覆盖它,只将文章标题作为链接文本

不过,请看“最终想法”部分,因为我仍然认为有一种更好的方法可以做到这一点

你的榜样 在您给出的示例中,我根本不使用
aria标签

现在部分原因在于前面提到的
aria label
的行为,但更重要的是屏幕阅读器用户如何导航页面

屏幕阅读器具有列出页面上所有链接、循环浏览标题和循环浏览章节的快捷方式。这是屏幕阅读器用户“定位”自己并探索页面和页面内容的方式

你做事情的方式很好,也很容易理解。屏幕阅读器用户可以通过节(
)、标题
或超链接进行导航

添加
aria标签
实际上对屏幕阅读器用户来说更糟糕,因为他们可能(取决于屏幕阅读器和浏览器的组合)能够访问
s,因为您已经覆盖了它们

示例3-与您的相同,但已删除
aria标签

原因是(如前所述)我们现在没有超越
的潜力,因此在所有屏幕阅读器中,用户现在应该能够通过标题和超链接来发现这篇文章。

不过分——但您可以使用
aria labelledby
引用标题的ID以避免文本重复。

我知道示例应该是最少的,但这是吗是指链接到其他文章的文章列表(在这种情况下,您可以添加
元素),还是指这些文章在同一页上一个接一个地完整显示。取决于你在做什么,
aria标签在这里可能是好的,也可能是坏的。因此元素是blogpost的摘录。我将用虚拟博客帖子的链接更新这个例子。您声明:取决于您正在做的事情,
aria标签可能是好的,也可能是坏的。您能解释一下什么时候以及为什么它们是坏的,或者什么时候以及为什么它们是好的吗?在下面的回答中,我也尽了最大的努力为您回答这个问题,并解释我为什么这样问。这部分:“屏幕阅读器具有列出页面上所有链接、循环浏览标题和循环浏览章节的快捷方式。这是屏幕阅读器用户“定位”自己并探索页面和页面内容的方式。“这正是我问这个问题的原因。当屏幕阅读器用户通过地标定位自己时,他们看到的只是一个文章列表。没有上下文的文章。因此,也许我应该把我的问题重新提出来:我如何给出文章列表的上下文?你可以通过页面URL、页面标题、页面H1以及它是一个
列表来获得上下文。实际上,它不需要更多的上下文。您可以将它们添加到
中,以便读取文章的数量。如果你在同一页上有多篇文章“类型”,你可以使用
aria descripeby
添加额外的信息,如文章类别,但在大多数简单的文章列表中,这同样是多余的。谢谢你,格雷厄姆。谢谢你的耐心,谢谢你详尽的回答,谢谢你的时间。一点问题都没有,来帮忙吧!祝项目顺利!
<article>
    <a href="somewhere" aria-label="Why blueberries taste good">
        <h2>Why blueberries taste good</h2>
        <p>Some content about blueberries which could be hundreds of paragraphs long</p>
    </a>
 </article>
<article>
    <h2>Oranges are orange</h2>
    <p>An article discussing the color of fruit</p>
    <a href="/oranges-are-orange">Read more</a>
  </article>
<article>
        <a href="somewhere">
            <h2>Why blueberries taste good</h2>
            <!--using `aria-hidden` on the excerpt text so that the `<h2>` is more likely to be discoverable using headings shortcuts-->
            <div aria-hidden="true">
                <p>Some content about blueberries which could be hundreds of paragraphs long</p>
            </div> 
        </a>
     </article>