A vocabulary and associated APIs for HTML and XHTML
The following sections only cover conforming elements and features.
This section is non-normative.
An asterisk (*) in a cell indicates that the actual rules are more complicated than indicated in the table above.
† Categories in the "Parents" column refer to parents that list the given categories in
their content model, not to elements that themselves are in those categories. For example, the
a
element's "Parents" column says "phrasing", so any element whose content model
contains the "phrasing" category could be a parent of an a
element. Since the "flow"
category includes all the "phrasing" elements, that means the th
element could be a
parent to an a
element.
This section is non-normative.
This section is non-normative.
Attribute | Element(s) | Description | Value |
---|---|---|---|
abbr
| th
| Alternative label to use for the header cell when referencing the cell in other contexts | Text* |
accept
| input
| Hint for expected file type in file upload controls | Set of comma-separated tokens* consisting of valid MIME types with no parameters or audio/* , video/* , or image/*
|
accept-charset
| form
| Character encodings to use for form submission | Ordered set of unique space-separated tokens, ASCII case-insensitive, consisting of labels of ASCII-compatible character encodings* |
accesskey
| HTML elements | Keyboard shortcut to activate or focus element | Ordered set of unique space-separated tokens, case-sensitive, consisting of one Unicode code point in length |
action
| form
| URL to use for form submission | Valid non-empty URL potentially surrounded by spaces |
alt
| area ;
img ;
input
| Replacement text for use when images are not available | Text* |
async
| script
| Execute script asynchronously | Boolean attribute |
autocomplete
| form
| Default setting for autofill feature for controls in the form | "on "; "off "
|
autocomplete
| input ;
select ;
textarea
| Hint for form autofill feature | Autofill field name and related tokens* |
autofocus
| button ;
input ;
keygen ;
select ;
textarea
| Automatically focus the form control when the page is loaded | Boolean attribute |
autoplay
| audio ;
video
| Hint that the media resource can be started automatically when the page is loaded | Boolean attribute |
border
| table
| Explicit indication that the table element is not being used for layout purposes
| The empty string, or "1 "
|
challenge
| keygen
| String to package with the generated and signed public key | Text |
charset
| meta
| Character encoding declaration | Encoding label* |
charset
| script
| Character encoding of the external script resource | Encoding label* |
checked
| input
| Whether the control is checked | Boolean attribute |
cite
| blockquote ;
del ;
ins ;
q
| Link to the source of the quotation or more information about the edit | Valid URL potentially surrounded by spaces |
class
| HTML elements | Classes to which the element belongs | Set of space-separated tokens |
cols
| textarea
| Maximum number of characters per line | Valid non-negative integer greater than zero |
colspan
| td ;
th
| Number of columns that the cell is to span | Valid non-negative integer greater than zero |
content
| meta
| Value of the element | Text* |
contenteditable
| HTML elements | Whether the element is editable | "true "; "false "
|
controls
| audio ;
video
| Show user agent controls | Boolean attribute |
coords
| area
| Coordinates for the shape to be created in an image map | Valid list of integers* |
crossorigin
| audio ;
img ;
link ;
script ;
video
| How the element handles crossorigin requests | "anonymous "; "use-credentials "
|
data
| object
| Address of the resource | Valid non-empty URL potentially surrounded by spaces |
datetime
| del ;
ins
| Date and (optionally) time of the change | Valid date string with optional time |
datetime
| time
| Machine-readable value | Valid month string, valid date string, valid yearless date string, valid time string, valid floating date and time string, valid time-zone offset string, valid global date and time string, valid week string, valid non-negative integer, or valid duration string |
default
| track
| Enable the track if no other text track is more suitable | Boolean attribute |
defer
| script
| Defer script execution | Boolean attribute |
dir
| HTML elements | The text directionality of the element | "ltr "; "rtl "; "auto "
|
dir
| bdo
| The text directionality of the element | "ltr "; "rtl "
|
dirname
| input ;
textarea
| Name of form field to use for sending the element's directionality in form submission | Text* |
disabled
| button ;
fieldset ;
input ;
keygen ;
optgroup ;
option ;
select ;
textarea
| Whether the form control is disabled | Boolean attribute |
download
| a ;
area
| Whether to download the resource instead of navigating to it, and its file name if so | Text |
draggable
| HTML elements | Whether the element is draggable | "true "; "false "
|
dropzone
| HTML elements | Accepted item types for drag-and-drop | Unordered set of unique space-separated tokens, ASCII case-insensitive, consisting of accepted types and drag feedback* |
enctype
| form
| Form data set encoding type to use for form submission | "application/x-www-form-urlencoded "; "multipart/form-data "; "text/plain "
|
for
| label
| Associate the label with form control | ID* |
for
| output
| Specifies controls from which the output was calculated | Unordered set of unique space-separated tokens, case-sensitive, consisting of IDs* |
form
| button ;
fieldset ;
input ;
keygen ;
label ;
object ;
output ;
select ;
textarea
| Associates the control with a form element
| ID* |
formaction
| button ;
input
| URL to use for form submission | Valid non-empty URL potentially surrounded by spaces |
formenctype
| button ;
input
| Form data set encoding type to use for form submission | "application/x-www-form-urlencoded "; "multipart/form-data "; "text/plain "
|
formmethod
| button ;
input
| HTTP method to use for form submission | "GET "; "POST "
|
formnovalidate
| button ;
input
| Bypass form control validation for form submission | Boolean attribute |
formtarget
| button ;
input
| Browsing context for form submission | Valid browsing context name or keyword |
headers
| td ;
th
| The header cells for this cell | Unordered set of unique space-separated tokens, case-sensitive, consisting of IDs* |
height
| canvas ;
embed ;
iframe ;
img ;
input ;
object ;
video
| Vertical dimension | Valid non-negative integer |
hidden
| HTML elements | Whether the element is relevant | Boolean attribute |
high
| meter
| Low limit of high range | Valid floating-point number* |
href
| a ;
area
| Address of the hyperlink | Valid URL potentially surrounded by spaces |
href
| link
| Address of the hyperlink | Valid non-empty URL potentially surrounded by spaces |
href
| base
| Document base URL | Valid URL potentially surrounded by spaces |
hreflang
| a ;
area ;
link
| Language of the linked resource | Valid BCP 47 language tag |
http-equiv
| meta
| Pragma directive | Text* |
id
| HTML elements | The element's ID | Text* |
ismap
| img
| Whether the image is a server-side image map | Boolean attribute |
keytype
| keygen
| The type of cryptographic key to generate | Text* |
kind
| track
| The type of text track | "subtitles ";
"captions ";
"descriptions ";
"chapters ";
"metadata "
|
label
| optgroup ;
option ;
track
| User-visible label | Text |
lang
| HTML elements | Language of the element | Valid BCP 47 language tag or the empty string |
list
| input
| List of autocomplete options | ID* |
loop
| audio ;
video
| Whether to loop the media resource | Boolean attribute |
low
| meter
| High limit of low range | Valid floating-point number* |
manifest
| html
| Application cache manifest | Valid non-empty URL potentially surrounded by spaces |
max
| input
| Maximum value | Varies* |
max
| meter ;
progress
| Upper bound of range | Valid floating-point number* |
maxlength
| input ;
textarea
| Maximum length of value | Valid non-negative integer |
media
| link ;
source ;
style
| Applicable media | Valid media query |
mediagroup
| audio ;
video
| Groups media elements together with an implicit MediaController
| Text |
method
| form
| HTTP method to use for form submission | "GET ";
"POST ";
|
min
| input
| Minimum value | Varies* |
min
| meter
| Lower bound of range | Valid floating-point number* |
minlength
| input ;
textarea
| Minimum length of value | Valid non-negative integer |
multiple
| input ;
select
| Whether to allow multiple values | Boolean attribute |
muted
| audio ;
video
| Whether to mute the media resource by default | Boolean attribute |
name
| button ;
fieldset ;
input ;
keygen ;
output ;
select ;
textarea
| Name of form control to use for form submission and in the form.elements API
| Text* |
name
| form
| Name of form to use in the document.forms API
| Text* |
name
| iframe ;
object
| Name of nested browsing context | Valid browsing context name or keyword |
name
| map
| Name of image map to reference from the usemap attribute
| Text* |
name
| meta
| Metadata name | Text* |
name
| param
| Name of parameter | Text |
novalidate
| form
| Bypass form control validation for form submission | Boolean attribute |
optimum
| meter
| Optimum value in gauge | Valid floating-point number* |
pattern
| input
| Pattern to be matched by the form control's value | Regular expression matching the JavaScript Pattern production |
placeholder
| input ;
textarea
| User-visible label to be placed within the form control | Text* |
poster
| video
| Poster frame to show prior to video playback | Valid non-empty URL potentially surrounded by spaces |
preload
| audio ;
video
| Hints how much buffering the media resource will likely need | "none ";
"metadata ";
"auto "
|
readonly
| input ;
textarea
| Whether to allow the value to be edited by the user | Boolean attribute |
rel
| a ;
area ;
link
| Relationship between the document containing the hyperlink and the destination resource | Set of space-separated tokens* |
required
| input ;
select ;
textarea
| Whether the control is required for form submission | Boolean attribute |
reversed
| ol
| Number the list backwards | Boolean attribute |
rows
| textarea
| Number of lines to show | Valid non-negative integer greater than zero |
rowspan
| td ;
th
| Number of rows that the cell is to span | Valid non-negative integer |
sandbox
| iframe
| Security rules for nested content | Unordered set of unique space-separated tokens, ASCII case-insensitive, consisting of
"allow-forms ",
"allow-pointer-lock ",
"allow-popups ",
"allow-same-origin ",
"allow-scripts and
"allow-top-navigation "
|
spellcheck
| HTML elements | Whether the element is to have its spelling and grammar checked | "true "; "false "
|
scope
| th
| Specifies which cells the header cell applies to | "row ";
"col ";
"rowgroup ";
"colgroup "
|
selected
| option
| Whether the option is selected by default | Boolean attribute |
shape
| area
| The kind of shape to be created in an image map | "circle ";
"default ";
"poly ";
"rect "
|
size
| input ;
select
| Size of the control | Valid non-negative integer greater than zero |
sizes
| link
| Sizes of the icons (for rel ="icon ")
| Unordered set of unique space-separated tokens, ASCII case-insensitive, consisting of sizes* |
span
| col ;
colgroup
| Number of columns spanned by the element | Valid non-negative integer greater than zero |
src
| audio ;
embed ;
iframe ;
img ;
input ;
script ;
source ;
track ;
video
| Address of the resource | Valid non-empty URL potentially surrounded by spaces |
srcdoc
| iframe
| A document to render in the iframe
| The source of an iframe srcdoc document*
|
srclang
| track
| Language of the text track | Valid BCP 47 language tag |
start
| ol
| Ordinal value of the first item | Valid integer |
step
| input
| Granularity to be matched by the form control's value | Valid floating-point number greater than zero, or "any "
|
style
| HTML elements | Presentational and formatting instructions | CSS declarations* |
tabindex
| HTML elements | Whether the element is focusable, and the relative order of the element for the purposes of sequential focus navigation | Valid integer |
target
| a ;
area
| Browsing context for hyperlink navigation | Valid browsing context name or keyword |
target
| base
| Default browsing context for hyperlink navigation and form submission | Valid browsing context name or keyword |
target
| form
| Browsing context for form submission | Valid browsing context name or keyword |
title
| HTML elements | Advisory information for the element | Text |
title
| abbr ;
dfn
| Full term or expansion of abbreviation | Text |
title
| input
| Description of pattern (when used with pattern attribute)
| Text |
title
| link
| Title of the link | Text |
title
| link ;
style
| Alternative style sheet set name | Text |
translate
| HTML elements | Whether the element is to be translated when the page is localized | "yes "; "no "
|
type
| a ;
area ;
link
| Hint for the type of the referenced resource | Valid MIME type |
type
| button
| Type of button | "submit ";
"reset ";
"button "
|
type
| embed ;
object ;
script ;
source ;
style
| Type of embedded resource | Valid MIME type |
type
| input
| Type of form control | input type keyword
|
type
| ol
| Kind of list marker | "1 ";
"a ";
"A ";
"i ";
"I "
|
typemustmatch
| object
| Whether the type attribute and the Content-Type value need to match for the resource to be used
| Boolean attribute |
usemap
| img ;
object
| Name of image map to use | Valid hash-name reference* |
value
| button ;
option
| Value to be used for form submission | Text |
value
| data
| Machine-readable value | Text* |
value
| input
| Value of the form control | Varies* |
value
| li
| Ordinal value of the list item | Valid integer |
value
| meter ;
progress
| Current value of the element | Valid floating-point number |
value
| param
| Value of parameter | Text |
width
| canvas ;
embed ;
iframe ;
img ;
input ;
object ;
video
| Horizontal dimension | Valid non-negative integer |
wrap
| textarea
| How the value of the form control is to be wrapped for form submission | "soft ";
"hard "
|
An asterisk (*) in a cell indicates that the actual rules are more complicated than indicated in the table above.
This section is non-normative.
This section is non-normative.
This section is non-normative.
Event | Interface | Description |
---|---|---|
abort
| Event
| Fired at the Window when the download was aborted by the user
|
afterprint
| Event
| Fired at the Window after printing
|
beforeprint
| Event
| Fired at the Window before printing
|
beforeunload
| BeforeUnloadEvent
| Fired at the Window when the page is about to be unloaded, in case the page would like to show a warning prompt
|
blur
| Event
| Fired at nodes losing focus |
change
| Event
| Fired at controls when the user commits a value change |
click
| Event
| Fired at an element before its activation behavior is run |
DOMContentLoaded
| Event
| Fired at the Document once the parser has finished
|
error
| Event
| Fired at elements when network and script errors occur |
focus
| Event
| Fired at nodes gaining focus |
hashchange
| HashChangeEvent
| Fired at the Window when the fragment identifier part of the document's address changes
|
input
| Event
| Fired at controls when the user changes the value |
invalid
| Event
| Fired at controls during form validation if they do not satisfy their constraints |
load
| Event
| Fired at the Window when the document has finished loading; fired at an element containing a resource (e.g. img , embed ) when its resource has finished loading
|
message
| MessageEvent
| Fired at an object when the object receives a message |
offline
| Event
| Fired at the Window when the network connections fails
|
online
| Event
| Fired at the Window when the network connections returns
|
pagehide
| PageTransitionEvent
| Fired at the Window when the page's entry in the session history stops being the current entry
|
pageshow
| PageTransitionEvent
| Fired at the Window when the page's entry in the session history becomes the current entry
|
popstate
| PopStateEvent
| Fired at the Window when the user navigates the session history
|
readystatechange
| Event
| Fired at the Document when it finishes parsing and again when all its subresources have finished loading
|
reset
| Event
| Fired at a form element when it is reset
|
submit
| Event
| Fired at a form element when it is submitted
|
unload
| Event
| Fired at the Window object when the page is going away
|
See also media element events, application cache events, and drag-and-drop events.