Menu 导航菜单标记中的页面标题h2。两只鸟,一块石头

Menu 导航菜单标记中的页面标题h2。两只鸟,一块石头,menu,seo,navigation,usability,semantics,Menu,Seo,Navigation,Usability,Semantics,为什么我们需要一个带有当前页面突出显示和页面标题()的导航菜单 为什么不将当前导航项设置为?(你想怎么储存就怎么储存,也许你想让它比其他的稍微大一点,或者别的什么) 这种方法的优缺点是什么?谷歌机器人会如何处理这个问题呢?我认为这取决于风格的应用方式和设计外观 但有几点需要考虑: 导航不是真正的内容,标题就是内容。在导航中放置真实内容会降低可用性 这将使内容中的第一个标题成为h3,我认为这并不理想 如果没有应用样式,您的设计可能看起来不可靠 屏幕阅读器不会很好地处理这个。。。阅读导

为什么我们需要一个带有当前页面突出显示和页面标题(
)的导航菜单

为什么不将当前导航项设置为
?(你想怎么储存就怎么储存,也许你想让它比其他的稍微大一点,或者别的什么)



这种方法的优缺点是什么?谷歌机器人会如何处理这个问题呢?

我认为这取决于风格的应用方式和设计外观

但有几点需要考虑:

  • 导航不是真正的内容,标题就是内容。在导航中放置真实内容会降低可用性

  • 这将使内容中的第一个标题成为
    h3
    ,我认为这并不理想

  • 如果没有应用样式,您的设计可能看起来不可靠

  • 屏幕阅读器不会很好地处理这个。。。阅读导航,然后遇到标题

  • 这样的标记会使重新设计或重新定位另一种媒体(可能是移动媒体)变得更加困难,因为您将被迫拼凑更多的样式


  • 答案取决于页面的视觉设计。它可以工作。但我们必须看看它在视觉上是如何工作的

    但是,将页眉作为导航的一部分存在可访问性问题。如果我使用屏幕阅读器并跳转到页面标题,那么紧接着的内容不是页面内容,而是剩余的导航。所以这不太可能是个好主意


    最后,许多人现在将页面标题改为h1。在web以文档为中心的环境下,这是有意义的,因此每个文档都应该有自己独特的h1。这是一个有争议的立场

    标题开始一节。此标题之后的所有内容(直到达到下一个相同级别或更高标题)都可以视为本节的一部分

    在您的示例中,“帐户”和“关于”链接将是标题为“主页”的部分的一部分:


    但这当然不适用。这就是为什么不应该在导航中使用标题。

    #4是我没有想到的。关于#2,我确信普遍的共识是h1表示站点标题,h2表示页面标题,h3表示内容部分#“3对我来说真的不是一个有效的分数。”亚当。关于第二点,我同意。这就是我的观点。作为一个页面标题,它应该在页面的顶部…标题的内容,而不是在导航。否则,页面内容中的第一个标题标记是
    h3
    。re#3,当我在我的浏览器中查看上面的代码时(没有应用样式),不清楚您的
    h2
    是否是页眉。它只是看起来像是一个更大的项目在一个
    ul
    。我不会迎合那些已经改变了风格的人off@Adam很公平。但好的设计的一部分是让语义标记在任何情况下都能正常工作。(屏幕阅读器,关闭样式,添加它们的人拥有自己的用户样式)。@Adam-h1应该是页面标题-这里有一些关于这方面的讨论(包括可访问性问题和W3C建议:对于SEO,情况也是如此。如果你将每个h1作为你的站点标题,那么你的页面看起来都是相同的主题。关于“使用屏幕阅读器并跳转到页眉”,这是屏幕阅读器中“跳转到页眉”的功能吗?屏幕阅读器如何知道是跳转到h1还是h2?我总是在隐藏的“跳转到内容”“链接仅适用于使用屏幕阅读器的用户。如果我有其中一个,您的观点是否仍然有效?为什么?我认为如果使用屏幕阅读器的用户正在通过导航进行阅读,这是有效的。我同意您的最后一点(但有时这取决于网站类型)是的,屏幕阅读器允许用户通过
    h*
    标签导航页面。跳转到内容链接肯定会有帮助。
    <h1><a href="#">Site Name</a></h1>
    <ul>
        <li id="current"><h2><a href="#">Home</a></h2></li>
        <li><a href="account/">Account</a></li>
        <li><a href="about/">About</a></li>
    </ul>
    
    <div id="content">
        <!-- Content goes here. -->
    </div>
    
    <ul>
        <li id="current"><h2><a href="#">Home</a></h2> <!-- everything after here is now in scope of the heading "Home" --> </li> 
        <li><a href="account/">Account</a></li> 
        <li><a href="about/">About</a></li>
    </ul>