这样去写你的 HTML

本文旨在分享如何通过合理运用HTML标签和遵循WCAG标准,提高网页的可访问性,尤其是为依赖辅助技术的用户提供更友好的使用体验。内容涵盖了从文档声明到列表、表单、图片等多个方面,提供了实用的代码示例和建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


======================================================
注:本文源代码点此下载
======================================================

昨天在 twitter

上说,怎么忍心把页面写得这么难用?是的,这个世界还有一群人等着我们创建出来的东西,可以让他们的生活能过得更容易呢。比如那些需要读屏软件的用户。作

为一个前端,我们又怎么会忍心呢。之前就一直想写这样的一篇文章,分享一下如何去创造一个可访问性更好的页面。今天的计划里有一条把 html

tag 和 wcag标准结合起来。我推荐你这样去写你的 html,让某些人的生活可以更容易。

今天想分享的是如何去使用我们的 html tag, 把 wcag 的标准和语义网的目标进行代码上的体现:

1. 文档声明:

其实这跟 wcag 根本上连不上什么直接关系,但为了一个兼容性更好,特别是向后兼容的页面,我推荐你这样写:

2. 链接:hidefocus>link

3. 缩写:

对于用 html tag 的正确使用,也是非常重要的,这有利于读屏软件使用者对于页面结构的理解。特别是在 h1,h2,h3

等这些标签的使用,滥用非常容易造成结构费解。当然,使用一般的标签,再利用 css

来使视觉上形成对比这也是常人能辨识的。但读屏软件用户呢。当然,这里只是顺带提起需要注意页面标签的使用方法,而 abbr

最重要的应该是应该添加一个 title 属性对缩写进行描述。比如:

wd

4. 大段引用: ,一般引用:

有大段引用的时候,使用 ,而行内引用则使用 ,让你的结构更加易读:

之前就一直想写这样的一篇文章,分享一下如何去创造一个可访问性更好的页面。今天的计划里有一条把

html tag 和 wcag标准结合起来。我推荐你这样去写你的 html,让某些人的生活可以更容易。

某a给我印象最深刻的一句话是,“做前端要有爱。

不要动不动就有朩有地对各种人使用咆哮体”。

5. 删除:

在纸上写东西不能像在计算机上写东西一样,可以用撤销键可以按,但当我们想要强调某些东西是被删除的怎么办?那就是使用标签了。比如这样:

html上表示强调时,请使用标签

html上表示强调时,请使用标签

效果是这样的:

html上表示强调时,请使用标签

html上表示强调时,请使用标签

6. 定义列表:

去年带着新人做支付宝前端博客的时候,他们给我印象最深刻的是很喜欢用

。当时在想,这些同学挺不错的,对语义化的理解还不错。我们还是比较少用到定义列表的。而是使用一般的

这两个。 也是应该慎用的,最好只使用在某些有“定义”意义的条目,如 w3school

的这个例子,对咖啡和牛奶的定义:

coffee

- black hot drink

milk

- white cold drink

7. 无序/有序列表 /

列表,这个对于每个前端来说,都熟悉不过了。因为结构可以非常灵活地进行应用,在导航、列表、tab

等,都经常要要用到。这个就无须多说了。但有一点还是需要明白的,不要相信什么 / 是

的替代品。在我们常用的 html tags 中,每个标签都有自己的作用,谁都不是谁的替代品。

coffee

tea

milk

8. 表格:

如果是一个表格,那就,就不要用段落来替代,更不要用列表。除非万不得已,并且他们是可以转换的。另外,表格中还有一些需要注意的点:

给添加 summary 属性,有些表格非常大,并不需要去读完整个

添加 ,如果我没记错,如果没添加的话,浏览器会自动为你添加

必要时使用来控制表示的栏(转载者注:经过我的测试,标签存在兼容性问题,只有ie7-以下浏览器支持)

date

ip

pv

2011.3.11

3000

8000

9. 格式化片段 /

是指 computer code text, 而

是指 preformatted

text。

的范围更广,并且是块状元素,可能被使用来格式化各种文本,特别是代码。使用没有需要特别注意的,主要是语义上的正确使用,比如不要用

来代替一般的

text-align:center

{ ( 1 * 102 ) + ( 9 * 101 ) + ( 3 * 100 ) }

10. 换行:

在现代网页中,使用

的情况是非常少的。网页中的留白,一般都是使用 css 的 padding 和 margin

来实现。这样更精准,并用更容易控制。现在推荐的用法是,使用到一般的段落

中做简单的换行,而不是用来控制页面留白。

我是一个段落。

诗歌都会用换行的。

11. 分割线:

具有非常好的语义作用。但他的视觉效果很难控制。之前就写过这样的文章在各浏览器中的问题" rel="bookmark" href="http://sofish.de/1328">关于在各浏览器中的问题。一般也都很少用。如果专门为读屏软件使用者提供单独页面的话,或许会大有用处。

标题一

lorem ipsum is ...

标题二

this is the entry of...

12. 无语义标签:

/

其实

/ 这两个标签是有语义的,都是 defines a section in a

document。是的,和 html5 中的

其实是一样的。只是,因为搜索引擎的的原因,搜索引擎认为它们是无语义标签,因此他们成了 “无语义”

标签。推荐用法是尽量使用其他来做为页面框架的容器,比如布局、添加额外的视觉效果,而不是段落等的替代品。

god, oh my zsh

13. 段落/标题:

,//…

这几个标签几乎可以说是一个页面标签等级结构中最重要的标签。我们可以用一本书的结构来说明这几个标签,而我们构建一个页面的时候,也应该有这样的一种思想在脑中:

书的名称:h1

书的每个章节标题: h2

章节内的文章标题: h3

章节的段落: p

小标题/副标题: h4/h5/h6

是的,当然还有引用 ,技术类书中提供的代码

,一些需要注意点的列表 ,一些方便比较的表格等。

logo

title

summary:

lorem ipsum is ...emphasize

14. 强调: /

emphasize 的缩写。而是 strong

emphasize。可能很多刚入门前端的同学会对 、、

、、 这几个标签的使用拿捏不准。

和基本上是被废置的,相当于现在的

和 ,

一般情况下他们对于内容重要性的排序是这样的:strong > em ≈

cite。

注意:别使用老掉牙的标签,比如font、center等,特别是 font。

15. 表单项: //

表单项是 html 中相对比较复杂的标签,需要注意的点也比较多:

需要给每个表单项添加对其进行描述,当不能使用 label 时,为表单项添加 title 属性

当表单项是必填项的时候,使用 “*“ 符号来标记

flash 创建表单项一般是不会生成的,请勾上 auto label 那个选项

my form

* first name:

say something:

16. 图片:

对于图片,盲人看不到。提供 alt 来表示替代文本。告诉他们这是一张什么样的图。

17. 框架:

尽量避免 框架的使用,但当你需要使用的时候,最好提供一个 title 属性对其进行描述。

18. 流媒体:/原文链接


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值