我真的很努力地使HTML5大纲正确,同时也牢记SEO。 我只想要页面上的1x H1,这必须是内容文章标题。 但是HTML5大纲迫使我给标题和导航部分赋予标题。 否则,它将显示"无标题的正文"或"无标题的导航部分"。 但是在我的页面上放置2倍H1感觉不对。

现在是这样的结构:

Company name

Logo img

Main nav

Article

Content

Article subtitle

Footer nav

大纲如下所示:

1. Company name

1. Main nav

2. Article

1. Article subtitle

3. Footer nav

轮廓看起来不错,但是带有多个H1标题的HTML代码感觉不正确。 有什么想法吗?

创建轮廓

如果您不想在第一个header和nav中使用标题,则只需将它们放下即可。您无需担心任何显示" HTML5轮廓"的开发人员工具,因为浏览器不会使用HTML轮廓算法执行任何操作,屏幕阅读器或面向最终用户的任何其他工具也不会。

使用标题正确构造标记对于屏幕阅读器用户很重要。但是,对于屏幕阅读器用户来说,正确执行此操作的最佳实践方法是使用显式h1-h6标题,而不是不按顺序使用它们,并且不要使用嵌套的h1。特别是,如果您使用的是section,则使用标题正确构造标记意味着您可以执行以下操作:

My document

Foo

Bar

…并正确使用标题来构造标记意味着不要执行以下操作:

My document

Foo

Bar

也就是说,如果您关心屏幕阅读器用户,则不要在这样的嵌套部分中使用h1。

您不应该这样做的原因是:HTML规范中的" HTML5大纲"指出,出于辅助技术(AT)的目的(屏幕阅读器),浏览器必须遵循大纲算法来分配标题级别,以使嵌套的h1标题改为显示为h2级和h3级标题-但是浏览器实际上并不遵循HTML规范中的大纲算法。

取而代之的是,浏览器将所有嵌套的h1标题的标题级别都以h1级别的标题的形式显示给AT -无论嵌套section元素中的标题有多低。

这意味着,当屏幕阅读器用户尝试浏览上面的示例时,他们只会将其视为仅具有h1级别标题的文档-他们将看不到更多的标题结构,因为浏览器没有实际上遵循HTML5轮廓算法。

也就是说,浏览器不会为嵌套的h1标题分配不同的标题级别,尽管HTML规范说必须这样做。浏览器只是忽略了这一要求。

轮廓对于屏幕阅读器很重要,标题应代表内容的准确轮廓。对于缺乏视觉的用户来说也很重要。因此使用WAI-ARIA至关重要。 w3.org/WAI/standards-guidelines/aria

@Stphane我建议您考虑花些时间来阅读developer.paciellogroup.com/blog/2013/10/html5-document-outline

嗨,我读了一下,它有点过时了。没有有关视觉缺陷用户和屏幕阅读器的参考。但是在这种情况下,大纲是必不可少的,使用–

可以帮助盲人和视障用户浏览我们的文档,这对于使用屏幕阅读器的人来说也是很常见的。因此,出于可访问性的原因,我们需要更加认真地对待结构。

与屏幕阅读器链接的有趣轮廓,以及通过理解页面目的而使用辅助技术的目的:accessiblehtmlheadings.com

在本文的medium.com/alistapart/中,"用标题正确构造标记很重要"段落,很好地说明了轮廓对于屏幕阅读器的重要性,它将帮助用户使用辅助技术。即使禁用CSS,该页面也必须具有良好的结构。

I only want 1x H1 on the page, and this has to be the content article title.

我不知道您在哪里听说出于SEO原因页面上应该只有一个H1。至少自进入新千年以来,情况并非如此。您给搜索引擎的信誉太少了。他们可以为您的页面编制索引,无论页面的零,一或五十个H1是否正确。

一个html可以有几个h1,关于html:HTML5大纲和多个H1 SEO相关推荐

  1. html可以有多个h1,HTML5大纲和多个H1 SEO

    我真的非常努力地获得HTML5大纲的权利,也记住了SEO.我只希望页面上有1个H1,这必须是内容文章标题.但HTML5大纲迫使我给标题和导航部分一个标题.否则它会说"无标题的身体" ...

  2. html语言中标记h1代表什么,HTML5中的标题标记(H1内部的P)中是否有段落元素是否有效?...

    实际上,没有.根据W3C,此标记不正确.你应该避免使用它. It is stated,标题元素的正确内容是"短语内容",它是与正常字符数据混合的phrasing elements. ...

  3. vue 画布插件_一个Vue.js插件,用于使用EaselJS控制HTML5画布

    vue 画布插件 vue-easeljs (vue-easeljs) A Vue.js plugin to control an HTML5 canvas using EaselJS. 一个Vue.j ...

  4. 设计一个偏向于外贸展会主题的外贸形势课程大纲

    以下是一个偏向于外贸展会主题的外贸形势课程大纲: 一.外贸展会的概述 外贸展会的定义和分类 外贸展会在国际贸易中的地位和作用 二.外贸展会的组织和策划 外贸展会的组织机构和流程 外贸展会的策划和执行要 ...

  5. 优酷在线播放器 html5,GitHub - esterTion/Youku-HTML5-Player: 一个适配优酷的简单易用的HTML5播放器...

    本扩展将不再维护 目前的可用性状态(19/03/16): firefox 65 基本正常使用 chrome 73 已确认无法使用 This extension is no longer maintai ...

  6. html控制h1不让换行的属性,CSS控制H1不换行_HTML与CSS教程_电脑知识学习_培训之家...

    CSS控制H1不换行为http://www.pxzj8.com整理发布,类型为HTML与CSS教程,本站还有更多关于html与css教程,css教程,html网页设计教程,css视频教程,css教程下 ...

  7. 优酷原生html5播放器,GitHub - esterTion/Youku-HTML5-Player: 一个适配优酷的简单易用的HTML5播放器...

    本扩展将不再维护 目前的可用性状态(19/03/16): firefox 65 基本正常使用 chrome 73 已确认无法使用 This extension is no longer maintai ...

  8. 抖音aop的下拉词怎么去掉?<h1>抖音下拉词<h1>

    想处理掉,要看什么词语,首先查询这个主词下面所有下拉词的指数.根据排名,如果你要去掉的那个比较低.那么容易写,因为你只需要找做抖音下拉的,上去一个词,就可以了,把你要去掉的那个词顶掉!就行了,如果不是 ...

  9. html h1 不自动加粗,css如何使h1不换行?

    在网页优化中,经常要使用H标签对关键字进行优化,可是如果是一行文字中的某个词加上了H1标记,就会换行.我们该如何使用css设置H1标记文本不换行?下面我们来看一下css设置H1标记的文本不换行的方法. ...

最新文章

  1. IDEA上编写hadoop程序(Maven)【笔记自用】
  2. java field, property,variable及getField和getDeclaredField的区别
  3. mt6735通用recovery_山寨4G V8主板MT6735线刷机包
  4. mysql 横向分表合并_MySQL横向扩展-分库分表解决方案总结
  5. 【蓝桥杯 - 练习】k倍区间(思维,数组)
  6. ef mysql code first_关于ef+codefirst+mysql(入门)
  7. Maven学习(四)Maven 命令行选项
  8. linux强制获得锁,Linux中的两种文件锁——协同锁与强制锁
  9. WPF备忘录(1)有笑脸,有Popup
  10. 985,211,双一流,34所,C9,国防七子,五虎四小龙,五院四系,东南西北中傻傻分不清
  11. 破解压缩包密码的正确思路原理
  12. NmRF:从RNA序列中鉴定多物种RNA2‘-o-甲基化修饰位点(假尿苷位点)
  13. Java+Springmvc+velement实现高校学科竞赛项目系统+Lw
  14. 大学生计算机应用基础实验6,计算机应用基础实验6.doc
  15. SQL Server Management Studio管理数据库
  16. Kubernetes 的 HPA 原理详解
  17. matlab可靠性优化,MATLAB在机械可靠性优化设计中的应用.pdf
  18. html登陆后无法跳出页面,详解如何在登录过期后跳出Ifram框架
  19. 计算机是怎么样工作的?
  20. DevOps团队如何为网络星期一做准备

热门文章

  1. Oracle新建用户、角色,授权,建表空间
  2. 一个具有对象计数功能的基类
  3. win下常用快捷鍵及其作用
  4. 一堂如何提高代码质量的培训课 之 领域驱动设计
  5. 一篇关于Dataset与泛型、自定义集合的讨论
  6. 程序员专属段子集锦 5/10
  7. IDEA 配置 SpringBoot 启动端口
  8. Linux中变量#,@,0,1,2,*,$$,$?的意思
  9. 5 shell命令之tr
  10. uiautomator-CTS上运行,出xml报告