全局属性 | Global attributes

Global attributes

全局属性是所有HTML元素共有的属性; 它们可以用于所有元素,尽管属性可能对某些元素没有影响。

HTML5 规范规定全局属性可以用在所有的HTML element上,甚至HTML5没有规范的element。这意味着任何非标准的element也可以使用这些属性,甚至在HTML5不兼容的文档类型下这些element的使用方式也可以用。

除了基本的HTML全局属性之外,还存在以下全局属性:

  • xml:langxml:base- 这些是从XHTML规范继承而来的,因兼容性的原因而保留。

  • 多个aria-*属性,用于改善可访问性。

  • 事件处理程序属性:onabortonautocompleteonautocompleteerroronbluroncanceloncanplayoncanplaythroughonchangeonclickoncloseoncontextmenuoncuechangeondblclickondragondragendondragenterondragexitondragleaveondragoverondragstartondropondurationchangeonemptiedonendedonerroronfocusoninputoninvalidonkeydownonkeypressonkeyuponloadonloadeddataonloadedmetadataonloadstartonmousedownonmouseenteronmouseleaveonmousemoveonmouseoutonmouseoveronmouseuponmousewheelonpauseonplayonplayingonprogressonratechangeonresetonresizeonscrollonseekedonseekingonselectonshow, onsort, onstalled, onsubmit, onsuspend, ontimeupdate, ontoggle, onvolumechange, onwaiting.

描述

accesskey为生成当前元素的键盘快捷键提供提示。该属性由空格分隔的字符列表组成。浏览器应该使用计算机键盘布局上存在的第一个。class是元素类的空格分隔列表。类允许CSS和JavaScript通过类选择器或函数(如方法)选择和访问特定的元素Document.getElementsByClassName()contenteditable是一个枚举属性,指示该元素是否应该由用户编辑。如果是这样,浏览器修改它的小部件以允许编辑。该属性必须采用以下值之一:

  • true空字符串,表示该元素必须是可编辑的;

  • false,这表明该元素不能被编辑。

contextmenu是一个<menu>的id,用作这个元素的上下文菜单。data-*形成一类称为自定义数据属性的属性,允许专有信息在HTML及其脚本可能使用的DOM表示之间进行交换。所有这些自定义数据都可以通过HTMLElement设置属性的元素的接口来使用。该HTMLElement.dataset属性可以访问它们。dir是一个枚举属性,指示元素文本的方向性。它可以有以下值:

  • ltr,这意味着从左到右,用于从左到右书写的语言(如英语);

  • rtl,意思是从右到左写的语言(如阿拉伯语);

  • auto,让用户代理决定。它使用一种基本的算法来解析元素内部的字符,直到找到一个具有强方向性的字符,然后将这个方向性应用于整个元素。

draggable是一个枚举属性,用于指示是否可以使用拖放API拖动该元素。它可以有以下值:

  • true,表示该元素可能被移动

  • false,表示该元素不能被移动。

dropzone是一个枚举属性,用于指示可以使用拖放API在元素上放置哪些类型的内容。它可以有以下值:

  • copy,这表示删除将创建被移动的元素的副本

  • move,这表明被拖动的元素将被移动到这个新的位置。

  • link,将创建一个链接到拖动的数据。

hidden是一个布尔属性表示该元素还不存在,或不再是相关的。例如,它可用于隐藏无法使用的页面元素,直到登录过程完成。浏览器不会呈现这样的元素。此属性不得用于隐藏可能合法显示的内容。id定义一个唯一的标识符(ID),在整个文档中必须是唯一的。其目的是在链接(使用片段标识符),脚本或样式(使用CSS)时标识元素。

注意:以下5个属性是WHATWG HTML Microdata功能的一部分。

itemid项目的唯一全局标识符。

  • true,表示该元素应尽可能检查拼写错误;

  • false,这表明该元素不应检查拼写错误。

style包含要应用于元素的CSS样式声明。请注意,建议在单独的文件或文件中定义样式。这个属性和<style>元素的主要目的是允许快速的样式,例如用于测试目的。tabindex是一个整数属性,指示元素是否可以输入焦点(可聚焦),是否应该参与顺序键盘导航,如果是,则在什么位置。它可能需要几个值:

  • 一个负值意味着元素应该是可聚焦的,但不应该是通过顺序键盘导航可达;

  • 0 意味着该元素应该可以通过顺序键盘导航来获得焦点和可达性,但是其相对顺序是由平台惯例来定义的;

  • 这意味着应该可以通过顺序的键盘导航进行对焦和可达的正值。其相对顺序由属性的值定义:顺序跟随tabindex的增加数量。如果多个元素共享相同的tabindex,则它们的相对顺序将遵循它们在文档中的相对位置)。

title包含表示与其所属元素相关的咨询信息的文本。这样的信息通常可以但不一定作为工具提示呈现给用户。translate是一个枚举属性,用于指定Text在页面本地化时是否翻译元素的属性值及其子节点值,还是使其保持不变。它可以有以下值:

  • 空字符串和"yes",表示该元素将被翻译。

  • "no“,表示该元素不会被翻译。

规范

规范状态评论
HTML生活标准该规范中'全球属性'的定义。生活水平从最新的快照中,添加了HTML 5.1,itemid,itemprop,itemref,itemscope和itemtype。
HTML 5.1该规范中'全局属性'的定义。建议HTML生活标准快照。从HTML5开始,拼写检查,可拖动和拖放区已被添加。
HTML5该规范中的'全局属性'的定义。建议HTML生活标准快照。从HTML 4.01规范中,引入了全局属性的概念,并且目录,lang,style,id,class,tabindex,accesskey和title现在是真正的全局属性。xml:lang最初是XHTML的一部分,现在也是HTML的一部分。隐藏的,数据*,contextmenu,contenteditable和翻译已被添加。
HTML 4.01规范建议没有定义全局属性。将在后续规范中成为全局属性的若干属性定义在元素的子集上。除了<base>,<basefont>,<head>,<html>,<meta>,<param>,<script>,<style>和<title>以外,类和样式都受支持。所有元素都支持dir,但<applet>,<base>,<basefont>,<bdo>,<br>,<frame>,<frameset>,<iframe>,<param>和<script>。所有元素都支持id,但是<base>,<head>,<html>,<meta>,<script>,<style>和<title>。除<applet>,<base>,<basefont>,<br>,<frame>,<frameset>,<iframe>,<param>和< SCRIPT>。tabindex仅支持<a>,<area>,<button>,<object>,<select>和<textarea>。accesskey仅支持<a>,<area>,<button>,<input>,<label>,<legend>和<textarea>。除<base>,<basefont>,<head>,<html>,<meta>,<param>,<script>和<title>外,所有元素都支持title。

浏览器兼容性

FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
accesskey(Yes)(Yes)(Yes)(Yes)(Yes)
class(Yes)(Yes)(Yes)(Yes)(Yes)
contenteditable(Yes)3.0 (1.9)(Yes)(Yes)(Yes)
contextmenuNo support9 (9)No supportNo supportNo support
data-*(Yes)6 (6)(Yes)(Yes)(Yes)
dir(Yes)(Yes)(Yes)(Yes)(Yes)
draggable(Yes)2.0 (1.8.1)(Yes)(Yes)(Yes)
dropzone?No support???
hidden(Yes)4.0 (2)(Yes)(Yes)(Yes)
id(Yes)(Yes)(Yes)(Yes)(Yes)
itemid, itemprop, itemref, itemscope, itemtype?(Yes)???
lang(Yes)(Yes)(Yes)(Yes)(Yes)
spellcheck(Yes)2.0 (1.8.1)(Yes)(Yes)(Yes)
style(Yes)(Yes)(Yes)(Yes)(Yes)
tabindex(Yes)(Yes)(Yes)(Yes)(Yes)
title(Yes)(Yes)(Yes)(Yes)(Yes)

FeatureAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
accesskey(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)
class(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)
contenteditable(Yes)(Yes)1.0 (1.9)(Yes)(Yes)?
contextmenuNo supportNo supportNo supportNo supportNo supportNo support
data-*(Yes)(Yes)6.0 (6)(Yes)(Yes)?
dir(Yes)(Yes)(Yes)(Yes)(Yes)?
draggable(Yes)(Yes)1.0 (1.8.1)(Yes)(Yes)?
dropzone??No support???
hidden(Yes)(Yes)4.0 (2)(Yes)(Yes)(Yes)
id(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)
itemid, itemprop, itemref, itemscope, itemtype??(Yes)???
lang(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)
spellcheck(Yes)(Yes)1.0 (1.8.1)(Yes)(Yes)?
style(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)
tabindex(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)
title(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)