A user account is required in order to edit this wiki, but we've had to disable public user registrations due to spam.
To request an account, ask an autoconfirmed user on Chat (such as one of these permanent autoconfirmed members).
MicrosyntaxDescriptions
The purpose of this page is to enable collaborative creation of brief advisory text for each HTML5 microsyntax so that when the content of an attribute value or the text content of an element does not conform to a given microsyntax, a validator can display the advisory text about the syntax to guide the author to fix the content. Note that like the rest of this wiki, editing requires you to agree to release your contributions under the MIT license (see wiki footer). Please note that while copying text from the WHATWG version of HTML 5 is OK, copying text from RFCs or W3C specs is not OK.
Note that some formats pertain to Web Forms 2.0 (e.g. datetime-local
).
Please keep descriptions short: one paragraph in length.
browsing-context
A browsing context name is any string that does not start with an underscore (_
).
browsing-context-or-keyword
A browsing context name or keyword is either any string that does not start with an underscore (_
) or a string that case-insensitively matches one of: _blank
, _self
, _parent
, or _top
.
cdo-cdc-pair
Any text content that contains the character sequence "<--
" followed by a later occurrence of the character sequence "-->
".
charset
An encoding name labeled as a "preferred MIME name" in the IANA Character Sets registry. Example: utf-8
charset-list
(form accept-charset value)
circle
A circle is specified as three comma-separated (no spaces allowed) integers the last one of which is non-negative. An integer consists of one or more digits (0
–9
), optionally preceded by a hyphen (-
). Examples of circles: 5,5,10
and -5,0,20
date
An ISO 8601 date, for example in the format YYYY-MM-DD
. Example: 2002-09-29
.
date-or-time
(This format deviates from the spec draft.) An ISO 8601 date (i.e. YYYY-MM-DD
.), time (i.e. hh:mm
optionally followed by :ss
optionally followed by .
and digits) optionally with a time zone designator (i.e. either Z
, +hh:mm
or -hh:mm
) or both date and time separated by T
. Examples: 1996-01-01T12:05:25
, 1996-01-01
, 12:05:25
, 1996-01-01T12:05:25.6-02:00
date-or-time-content
(This format deviates from the spec draft.) An ISO 8601 date (i.e. YYYY-MM-DD
.), time (i.e. hh:mm
optionally followed by :ss
optionally followed by .
and digits) optionally with a time zone designator (i.e. either Z
, +hh:mm
or -hh:mm
) or both date and time separated by T
or a Unicode space class character. Unicode space class (Zs) characters are allowed around the components (date, time, time zone designator). Examples: 1996-01-01 12:05:25
, 1996-01-01
, 12:05:25
, 1996-01-01 T 12:05:25.6 -02:00
datetime
An ISO 8601 date and time in the UTC time zone, i.e. YYYY-MM-DDThh:mm
optionally followed by :ss
for the seconds, optionally followed by .
and one or more digits for the fraction of a second, and finally followed by Z
. Examples: 1996-01-01T12:05Z
, 1996-01-01T12:05:25.6Z
.
datetime-local
An ISO 8601 date and time with no time zone information, i.e. YYYY-MM-DDThh:mm
optionally followed by :ss
for the seconds, optionally followed by .
and one or more digits for the fraction of a second. Examples: 1996-01-01T12:05
, 1996-01-01T12:05:25.6
.
datetime-tz
(This format deviates from the spec draft.) An ISO 8601 date and time with a time zone designator, i.e. YYYY-MM-DDThh:mm:ss
optionally followed by .
and one or more digits for the fraction of a second, and finally followed by either Z
, +hh:mm
or -hh:mm
. Examples: 1996-01-01T12:05:25Z
, 1996-01-01T12:05:25.6+02:00
.
An e-mail address must match the addr-spec
production defined in RFC 2822 section 3.4.1 excluding the CFWS
production everywhere and excluding the FWS
production everywhere except in the quoted-string
production.
float
A floating point number consists of one of more digits (0
–9
), optionally with a single point (.
) somewhere (either before these numbers, in between two numbers, or after the numbers), all optionally prefixed with a hyphen (-
). Examples: 42
, .42
, -4.2
float-non-negative
...
float-positive
...
float-exp
(WF2 float)
float-exp-positive
(positive WF2 float)
hash-name
...
ID
An ID consists of at least one character but must not contain any whitespace.
integer
One or more digits (0
–9
), optionally preceded by a hyphen (-
). For example: 42
and -273
are valid, but +42
is not.
integer-non-negative
One or more digits (0
–9
). For example: 42
and 0
are valid, but -273
is not.
integer-positive
One or more digits (0
–9
), with at least one which is non-zero. For example: 42
is valid, but 00
is not.
iri
An absolute URL. For example: http://example.org/hello
, but not /hello
. Spaces should be escaped as %20
.
iri-ref
Any URL. For example: /hello
, #canvas
, or http://example.org/
. Spaces should be escaped as %20
.
language
An RFC 4646 language tag consists of hyphen-separated ASCII-alphanumeric subtags. There is a primary tag identifying a natural language by its shortest ISO 639 language code (e.g. en
for English) and zero or more additional subtags adding precision. The most common additional subtag type is a region subtag which most commonly is a two-letter ISO 3166 country code (e.g. GB
for the United Kingdom). IANA maintains a registry of permissible subtags.
media-query
One or more media queries, combined in a comma-separated list. Each media query consists of a media type and zero or more expressions that check for the conditions of particular media features. A media type is one of the following: all, braille, embossed, handheld, print, projection, screen, speech, tty, or tv. Note: The aural media type is deprecated. For information about valid media features and about the exact syntax of media queries, see the Media Queries specification.
meta-charset
The string text/html;
, optionally followed by whitespace, followed by charset=
, followed by an encoding name labeled as a "preferred MIME name" in the IANA Character Sets registry. Example: text/html; charset=utf-8
mime-type
A media-type as defined in RFC 2616; that is, typically, a required type, followed by a "/
" character, followed by a required subtype, optionally followed by one or more instances of a ";
" character followed by a parameter. Examples: text/css
, text/css;charset=utf-8
.
mime-type-list
(WF2)
month
An ISO 8601 date with year and month, i.e. YYYY-MM
. Example: 2007-11
.
pattern
(WF2)
polyline
...
ratio
(progress content)
rectangle
...
script-documentation
Zero or more code comments, each of which is either a single-line comment starting with "//
" or a multi-line comment starting with "/*
" and ending with "*/
". For further details, see Inline documentation for external scripts.
time
A time (hour, minute, seconds, fractional seconds) is encoded according to ISO 8601 with no time zone: two digits (0
–9
) for the hour, a colon, two digits for the minute, optionally a colon and two digits for the second, and optionally (if the seconds are present) a period (.
) and one or more digits for the fraction of a second. All the numbers must be in base ten and zero-padded if necessary. For instance: 23:59:00.00000
or 00:00:05
.
week
A week consists of a year and a week number encoded according to ISO 8601: four or more digits (0
–9
) representing the year, a hyphen (-
), a literal W
, and two digits for the week, zero-padded if necessary. The week number must be a number greater than or equal to 01
. Week 01
of a given year is the week containing the 4th of January; weeks start on Monday. For instance: 2005-W52
is the week that ended on Sunday the first of January, 2006.