1. 15 已废弃的功能
    1. 15.1 已废弃但符合标准的功能
    2. 15.2 不符合标准的功能

15 已废弃的功能

15.1 已废弃但符合标准的功能

本节列出的功能将在符合性检查器中触发警告。

作者不应在 border 属性上指定 img 元素。如果存在该属性,其值必须是字符串“0”。应改用 CSS。

作者不应在 charset 属性上指定 script 元素。如果存在该属性,其值必须与“utf-8”进行 ASCII 不区分大小写 匹配。(在符合本标准其他要求(以 UTF-8 编码)的文档中,这没有任何效果。)

作者不应在 language 属性上指定 script 元素。如果存在该属性,其值必须与字符串“JavaScript”进行 ASCII 不区分大小写 匹配,并且 type 属性必须被省略或其值必须与字符串“text/javascript”进行 ASCII 不区分大小写 匹配。应完全省略该属性(使用值“JavaScript”,它没有任何效果),或替换为使用 type 属性。

作者不应为 type 属性在 script 元素上指定空字符串或 JavaScript MIME 类型本质匹配 作为值。相反,他们应该省略该属性,这具有相同的效果。

作者不应在 type 属性上指定 style 元素。如果存在该属性,其值必须与“text/css”进行 ASCII 不区分大小写 匹配。

作者不应在 name 属性上指定 a 元素。如果存在该属性,其值不能是空字符串,并且不能等于元素的 ID 树中任何其他元素的 ID(如果存在),也不能等于元素的 中其他 name 属性在 a 元素上的值。如果存在此属性并且元素具有 ID,则该属性的值必须等于元素的 ID。在该语言的早期版本中,此属性旨在作为一种方法来指定 片段URL 中的可能目标。应改用 id 属性。

作者不应,但可能尽管本规范其他地方有相反的要求,在 maxlengthsize 属性上指定 input 元素,其 type 属性处于 数字 状态。使用这些属性的另一个有效原因是帮助不支持 input 元素且 type="number" 的旧版用户代理仍然以有用的宽度呈现文本控件。

15.2 不符合标准的功能

以下列表中的元素完全已过时,作者不得使用

applet

改用 embedobject

acronym

改用 abbr

bgsound

改用 audio

dir

改用 ul

frame
frameset
noframes

或者使用 iframe 和 CSS,或者使用服务器端包含来生成包含各种不变部分的完整页面。

isindex

改用显式的 form文本控件 组合。

keygen

对于企业设备管理用例,请使用本机设备管理功能。

对于证书注册用例,请使用 Web 加密 API 生成证书的密钥对,然后导出证书和密钥以允许用户手动安装它们。 [WEBCRYPTO]

listing

改用 precode

menuitem

要实现自定义上下文菜单,请使用脚本处理 contextmenu 事件。

nextid

改用 GUID。

noembed

当需要回退时,改用 object 而不是 embed

param

使用 data 属性的 object 元素来设置外部资源的 URL。

plaintext

改用“text/plainMIME 类型

rb
rtc

直接在 ruby 元素内部提供 ruby 基数或使用嵌套的 ruby 元素就足够了。

strike

如果该元素用于标记编辑,则改用 del,否则改用 s

xmp

改用 precode,并将“<”和“&”字符分别转义为“&lt;”和“&amp;”。

basefont
big
blink
center
font
marquee
multicol
nobr
spacer
tt

改用适当的元素或 CSS。

tt 元素用于标记键盘输入的地方,请考虑使用 kbd 元素;对于变量,请考虑使用 var 元素;对于计算机代码,请考虑使用 code 元素;对于计算机输出,请考虑使用 samp 元素。

同样,如果 big 元素用于表示标题,请考虑使用 h1 元素;如果它用于标记重要段落,请考虑使用 strong 元素;如果它用于突出显示文本以供参考,请考虑使用 mark 元素。

另请参阅 文本级语义用法摘要,了解更多示例建议。


以下属性已过时(尽管元素仍然是语言的一部分),作者不得使用

charseta 元素上
charsetlink 元素上

改用链接资源上的 HTTP `Content-Type` 标头。

charsetscript 元素上(上一节中提到的情况除外)

省略该属性。文档和脚本都要求使用 UTF-8,因此在 script 元素上指定它是多余的,因为它继承自文档。

coordsa 元素上
shapea 元素上

使用 area 代替 a 用于图像地图。

methodsa 元素上
methodslink 元素上

使用 HTTP OPTIONS 功能代替。

namea 元素上(除非上一节中有所说明)
nameembed 元素上
nameimg 元素上
nameoption 元素上

使用 id 属性代替。

reva 元素上
revlink 元素上

使用 rel 属性代替,并使用相反的术语。(例如,不要使用 rev="made",而应使用 rel="author"。)

urna 元素上
urnlink 元素上

使用 href 属性指定首选的持久标识符。

acceptform 元素上

直接在 input 元素上使用 accept 属性代替。

hreflangarea 元素上
typearea 元素上

这些属性没有任何作用,并且由于历史原因,area 元素上没有相应的 IDL 属性。完全省略它们。

nohrefarea 元素上

省略 href 属性就足够了;nohref 属性是不必要的。完全省略它。

profilehead 元素上

不必要。完全省略它。

manifesthtml 元素上

使用服务工作线程代替。 [SW]

versionhtml 元素上

不必要。完全省略它。

ismapinput 元素上

不必要。完全省略它。所有具有 图像按钮 状态的 type 属性的 input 元素都被处理为服务器端图像地图。

usemapinput 元素上
usemapobject 元素上

对于图像地图,请使用 img 元素。

longdesciframe 元素上
longdescimg 元素上

使用常规的 a 元素链接到描述,或者(对于图像)使用 图像地图 从图像链接到图像的描述。

lowsrcimg 元素上

使用渐进式 JPEG 图像(在 src 属性中给出),而不是使用两个单独的图像。

targetlink 元素上

不必要。完全省略它。

typemenu 元素上

要实现自定义上下文菜单,请使用脚本处理 contextmenu 事件。对于工具栏菜单,请省略该属性。

labelmenu 元素上
contextmenu 在所有元素上
onshow 在所有元素上

要实现自定义上下文菜单,请使用脚本处理 contextmenu 事件。

schememeta 元素上

每个字段只使用一个方案,或者将方案声明作为值的一部分。

archiveobject 元素上
classidobject 元素上
codeobject 元素上
codebaseobject 元素上
codetypeobject 元素上

使用 datatype 属性来调用 插件

declareobject 元素上

每次要重用资源时,都完全重复 object 元素。

standbyobject 元素上

优化链接的资源,使其快速加载或至少增量加载。

typemustmatchobject 元素上

避免使用包含不可信资源的 object 元素。

languagescript 元素上(除非上一节中有所说明)

对于 JavaScript,省略该属性;对于 数据块,请使用 type 属性代替。

eventscript 元素上
forscript 元素上

使用 DOM 事件机制注册事件监听器。 [DOM]

typestyle 元素上(除非上一节中有所说明)

对于 CSS,省略该属性;对于 数据块,请使用 script 作为容器,而不是 style

datapagesizetable 元素上

不必要。完全省略它。

summarytable 元素上

使用 table 部分中给出的 描述表格的技术 之一代替。

abbrtd 元素上

使用以明确且简洁的方式开始的文本,并在其后包含任何更详细的文本。 title 属性也可用于包含更详细的文本,以便可以使单元格的内容简洁。如果是标题,请使用 th(它具有 abbr 属性)。

axistdth 元素上

在相关的 th 上使用 scope 属性。

scopetd 元素上

对于标题单元格,请使用 th 元素。

datasrc 属性在以下元素上使用:abuttondivframeiframeimginputlabellegendmarqueeobjectoptionselectspantabletextarea 元素。
datafld 属性在以下元素上使用:abuttondivfieldsetframeiframeimginputlabellegendmarqueeobjectselectspantextarea 元素。
dataformatas 属性在以下元素上使用:buttondivinputlabellegendmarqueeobjectoptionselectspantable 元素。

使用脚本和类似 XMLHttpRequest 的机制来动态填充页面。 [XHR]

dropzone 属性在所有元素上使用。

使用脚本处理 dragenterdragover 事件。

alink 属性在 body 元素上使用。
bgcolor 属性在 body 元素上使用。
bottommargin 属性在 body 元素上使用。
leftmargin 属性在 body 元素上使用。
link 属性在 body 元素上使用。
marginheight 属性在 body 元素上使用。
marginwidth 属性在 body 元素上使用。
rightmargin 属性在 body 元素上使用。
text 属性在 body 元素上使用。
topmargin 属性在 body 元素上使用。
vlink 属性在 body 元素上使用。
clear 属性在 br 元素上使用。
align 属性在 caption 元素上使用。
align 属性在 col 元素上使用。
char 属性在 col 元素上使用。
charoff 属性在 col 元素上使用。
valign 属性在 col 元素上使用。
width 属性在 col 元素上使用。
align 属性在 div 元素上使用。
compact 属性在 dl 元素上使用。
align 属性在 embed 元素上使用。
hspace 属性在 embed 元素上使用。
vspace 属性在 embed 元素上使用。
align 属性在 hr 元素上使用。
color 属性在 hr 元素上使用。
noshade 属性在 hr 元素上使用。
size 属性在 hr 元素上使用。
width 属性在 hr 元素上使用。
align 属性在 h1h6 元素上使用。
align 属性在 iframe 元素上使用。
allowtransparency 属性在 iframe 元素上使用。
frameborder 属性在 iframe 元素上使用。
framespacing 属性在 iframe 元素上使用。
hspace 属性在 iframe 元素上使用。
marginheight 属性在 iframe 元素上使用。
marginwidth 属性在 iframe 元素上使用。
scrolling 属性在 iframe 元素上使用。
vspace 属性在 iframe 元素上使用。
align 属性在 input 元素上使用。
border 属性在 input 元素上使用。
hspace 属性在 input 元素上使用。
vspace 属性在 input 元素上使用。
align 属性在 img 元素上使用。
border 属性在 img 元素上使用(除了上一节中提到的情况)。
hspace 属性在 img 元素上使用。
vspace 属性在 img 元素上使用。
align 属性在 legend 元素上使用。
type 属性在 li 元素上使用。
compact 属性在 menu 元素上使用。
align 属性在 object 元素上使用。
border 属性在 object 元素上使用。
hspace 属性在 object 元素上使用。

vspaceobject 元素上
compactol 元素上
alignp 元素上
widthpre 元素上
aligntable 元素上
bgcolortable 元素上
bordertable 元素上
bordercolortable 元素上
cellpaddingtable 元素上
cellspacingtable 元素上
frametable 元素上
heighttable 元素上
rulestable 元素上
widthtable 元素上
aligntbodytheadtfoot 元素上
chartbodytheadtfoot 元素上
charofftbodytheadtfoot 元素上
heighttheadtbodytfoot 元素上
valigntbodytheadtfoot 元素上
aligntdth 元素上
bgcolortdth 元素上
chartdth 元素上
charofftdth 元素上
heighttdth 元素上
nowraptdth 元素上
valigntdth 元素上
widthtdth 元素上
aligntr 元素上
bgcolortr 元素上
chartr 元素上
charofftr 元素上
heighttr 元素上
valigntr 元素上
compactul 元素上
typeul 元素上
backgroundbodytabletheadtbodytfoottrtdth 元素上

请改用 CSS。