The goal of this document is to capture the HTML WG's consensus as to the degree of testing in some areas of the HTML 5.0 specification, in order satisfy its agreed-upon exit criteria. This document is therefore all about process.
The objective is emphatically not to provide a roadmap for actual test writing. For that purpose, the testing effort's coverage document is the appropriate source of information.
The exit criteria allow the group to make a judgement call about which parts of the spec need decent tests that can demonstrate sufficient interoperability, and which can be considered okay without much of a testing effort.
The general idea is that HTML 5.0 is just one milestone in what is likely to be a longish list of further milestones. As such it needs to be an improvement on the past and a good stepping stone for the next milestones. In other words, we're not aiming for perfection, but we want to avoid making it harder to reach in future.
Based on this plan, the group picked which parts it honestly felt needed addressing as opposed to the bits it felt were good enough. "Good enough" is of course a rough metric; we based our assessment on our experience in using given features in development.
To put things differently, I believe the goal is two-fold:
- Reaching Recommendation so that the RF policy can kick in;
- Having that milestone, HTML 5.0, be an artefact of sufficient quality for real world industrial usage.
Legend |
---|
Considered interoperable |
Requires testing |
At risk |
Has tests |
Has implementations |
Has implementations and tests |
Items that are flagged as having tests or implementations have been done so conservatively; the actual set is almost certainly larger and needs refining. Note that those indicators have only been placed on items where tests have been marked as being needed.
- 1 Introduction Interoperable
- 1.1 Background Interoperable
- 1.2 Audience Interoperable
- 1.3 Scope Interoperable
- 1.4 History Interoperable
- 1.5 Design notes Interoperable
- 1.5.1 Serializability of script execution Interoperable
- 1.5.2 Compliance with other specifications Interoperable
- 1.6 HTML vs XHTML Interoperable
- 1.7 Structure of this
specification Interoperable
- 1.7.1 How to read this specification Interoperable
- 1.7.2 Typographic conventions Interoperable
- 1.8 Privacy concerns Interoperable
- 1.9 A quick introduction to HTML
Interoperable
- 1.9.1 Writing secure applications with HTML Interoperable
- 1.9.2 Common pitfalls to avoid when using the scripting APIs Interoperable
- 1.10 Conformance requirements for
authors Interoperable
- 1.10.1 Presentational markup Interoperable
- 1.10.2 Syntax errors Interoperable
- 1.10.3 Restrictions on content models and on attribute values Interoperable
- 1.11 Recommended reading Interoperable
- 2 Common infrastructure
- 2.1 Terminology
Interoperable
- 2.1.1 Resources Interoperable
- 2.1.2 XML Interoperable
- 2.1.3 DOM trees Interoperable
- 2.1.4 Scripting Interoperable
- 2.1.5 Plugins Interoperable
- 2.1.6 Character encodings Interoperable
- 2.2 Conformance
requirements Interoperable
- 2.2.1 Conformance classes Interoperable
- 2.2.2 Dependencies Interoperable
- 2.2.3 Extensibility Interoperable
- 2.3 Case-sensitivity and string comparison Interoperable
- 2.4 UTF-8 Interoperable
- 2.5 Common microsyntaxes
- 2.5.1 Common parser idioms Interoperable
- 2.5.2 Boolean attributes Interoperable
- 2.5.3 Keywords and enumerated attributes Interoperable
- 2.5.4 Numbers
Interoperable
- 2.5.4.1 Signed integers Interoperable
- 2.5.4.2 Non-negative integers Interoperable
- 2.5.4.3 Floating-point numbers Interoperable
- 2.5.4.4 Percentages and lengths Interoperable
- 2.5.4.5 Lists of integers Interoperable
- 2.5.4.6 Lists of dimensions Interoperable
- 2.5.5 Dates and
times Needs Tests
- 2.5.5.1 Months Needs Tests
- 2.5.5.2 Dates Needs Tests
- 2.5.5.3 Yearless dates Needs Tests
- 2.5.5.4 Times Needs Tests
- 2.5.5.5 Local dates and times Needs Tests
- 2.5.5.6 Time zones Needs Tests
- 2.5.5.7 Global dates and times Needs Tests
- 2.5.5.8 Weeks Needs Tests
- 2.5.5.9 Durations Needs Tests
- 2.5.5.10 Vaguer moments in time Needs Tests
- 2.5.6 Colors Interoperable
- 2.5.7 Space-separated tokens Interoperable
- 2.5.8 Comma-separated tokens Interoperable
- 2.5.9 References Interoperable
- 2.5.10 Media queries Interoperable
- 2.6 URLs Has implementations
- 2.6.1 Terminology Has implementations
- 2.6.2 Parsing URLs Has implementations
- 2.6.3 Base URLs Has implementations
- 2.6.4 Resolving URLs Has implementations
- 2.6.5 URL manipulation and creation Has implementations
- 2.6.6 Dynamic changes to base URLs Has implementations
- 2.6.7 Interfaces for URL manipulation Has implementations
- 2.7 Fetching resources
Interoperable
- 2.7.1 Terminology Interoperable
- 2.7.2 Processing model Interoperable
- 2.7.3 Encrypted HTTP and related security concerns Interoperable
- 2.7.4 Determining the type of a resource Interoperable
- 2.7.5 Extracting character
encodings from
meta
elements Interoperable - 2.7.6 CORS settings attributes Interoperable
- 2.7.7 CORS-enabled fetch Interoperable
- 2.8 Common DOM
interfaces Interoperable
- 2.8.1 Reflecting content attributes in IDL attributes Interoperable
- 2.8.2 Collections Interoperable
- 2.8.2.1 HTMLAllCollection Interoperable
- 2.8.2.2 HTMLFormControlsCollection Interoperable
- 2.8.2.3 HTMLOptionsCollection Interoperable
- 2.8.3 DOMStringMap Interoperable
- 2.8.4 Transferable objects Interoperable
- 2.8.5 Safe passing of structured data Interoperable
- 2.8.6 DOM feature strings Interoperable
- 2.8.7 Garbage collection Interoperable
- 2.9 Namespaces Interoperable
- 2.1 Terminology
Interoperable
- 3 Semantics, structure, and APIs of
HTML documents
- 3.1 Documents
Has implementations
- 3.1.1 The
Document
object Has implementations - 3.1.2 Security Has implementations
- 3.1.3 Resource metadata management Has implementations
- 3.1.4 DOM tree accessors Has implementations
- 3.1.5 Loading XML documents Has implementations
- 3.1.1 The
- 3.2 Elements
- 3.2.1 Semantics Interoperable
- 3.2.2 Elements in the DOM Interoperable
- 3.2.3 Global attributes
- 3.2.3.1 The
id
attribute Interoperable - 3.2.3.2 The
title
attribute Interoperable - 3.2.3.3 The
lang
andxml:lang
attributes Interoperable - 3.2.3.4 The
translate
attribute Has implementations - 3.2.3.5 The
xml:base
attribute (XML only) Has implementations - 3.2.3.6 The
dir
attribute Has implementations - 3.2.3.7 The
class
attribute Interoperable - 3.2.3.8 The
style
attribute Interoperable - 3.2.3.9 Embedding
custom non-visible data with the
data-*
attributes Has implementations
- 3.2.3.1 The
- 3.2.4 Element
definitions Interoperable
- 3.2.4.1 Attributes Interoperable
- 3.2.5 Content
models Interoperable
- 3.2.5.1 Kinds of content
Interoperable
- 3.2.5.1.1 Metadata content Interoperable
- 3.2.5.1.2 Flow content Interoperable
- 3.2.5.1.3 Sectioning content Interoperable
- 3.2.5.1.4 Heading content Interoperable
- 3.2.5.1.5 Phrasing content Interoperable
- 3.2.5.1.6 Embedded content Interoperable
- 3.2.5.1.7 Interactive content Interoperable
- 3.2.5.1.8 Palpable content Interoperable
- 3.2.5.2 Transparent content models Interoperable
- 3.2.5.3 Paragraphs Interoperable
- 3.2.5.1 Kinds of content
Interoperable
- 3.2.6 Requirements relating to bidirectional-algorithm formatting characters Interoperable
- 3.2.7 WAI-ARIA
Interoperable
- 3.2.7.1 ARIA Role Attribute Interoperable
- 3.2.7.2 State and Property Attributes Interoperable
- 3.2.7.3 Strong Native Semantics Has Implementations
- 3.2.7.4 Implicit ARIA Semantics Has Implementations
- 3.3 Interactions with XPath and XSLT Interoperable
- 3.4 Dynamic
markup insertion Has Tests and Implementations
- 3.4.1 Opening the input stream Has Tests and Implementations
- 3.4.2 Closing the input stream Has Tests and Implementations
- 3.4.3
document.write()
Has Tests and Implementations - 3.4.4
document.writeln()
Has Tests and Implementations
- 3.1 Documents
Has implementations
- 4 The elements of HTML
- 4.1 The root element
Interoperable
- 4.1.1 The
html
element Interoperable
- 4.1.1 The
- 4.2 Document metadata
- 4.2.1 The
head
element Interoperable - 4.2.2 The
title
element Interoperable - 4.2.3 The
base
element Has implementations - 4.2.4 The
link
element Interoperable - 4.2.5 The
meta
element- 4.2.5.1 Standard metadata names Interoperable
- 4.2.5.2 Other metadata names Interoperable
- 4.2.5.3 Pragma directives Interoperable
- 4.2.5.4 Other pragma directives Interoperable
- 4.2.5.5 Specifying the document's character encoding Has implementations
- 4.2.6 The
style
element Interoperable - 4.2.7 Styling Interoperable
- 4.2.1 The
- 4.3 Scripting
- 4.3.1 The
script
element Has implementations- 4.3.1.1 Scripting languages Has implementations
- 4.3.1.2 Restrictions for
contents of
script
elements Has implementations - 4.3.1.3 Inline documentation for external scripts Has implementations
- 4.3.1.4 Interaction of
script
elements and XSLT Has implementations
- 4.3.2 The
noscript
element Interoperable
- 4.3.1 The
- 4.4 Sections
- 4.4.1 The
body
element Interoperable - 4.4.2 The
article
element Has Tests and Implementations - 4.4.3 The
section
element Has Tests and Implementations - 4.4.4 The
nav
element Has Tests and Implementations - 4.4.5 The
aside
element Has Tests and Implementations - 4.4.6 The
h1
,h2
,h3
,h4
,h5
, andh6
elements Interoperable 4.4.7 TheAt Riskhgroup
element- 4.4.8 The
header
element Has Tests and Implementations - 4.4.9 The
footer
element Has Tests and Implementations - 4.4.10 The
address
element Interoperable - 4.4.11 Headings and
sections Interoperable
- 4.4.11.1 Creating an outline At Risk
- 4.4.12 Usage summary Interoperable
- 4.4.1 The
- 4.5 Grouping content
- 4.5.1 The
p
element Interoperable - 4.5.2 The
hr
element Interoperable - 4.5.3 The
pre
element Interoperable - 4.5.4 The
blockquote
element Interoperable - 4.5.5 The
ol
element Interoperable - 4.5.6 The
ul
element Interoperable - 4.5.7 The
li
element Interoperable - 4.5.8 The
dl
element Interoperable - 4.5.9 The
dt
element Interoperable - 4.5.10 The
dd
element Interoperable - 4.5.11 The
figure
element Has implementations - 4.5.12 The
figcaption
element Has implementations - 4.5.13 The
div
element Interoperable
- 4.5.1 The
- 4.6 Text-level semantics
- 4.6.1 The
a
element Interoperable - 4.6.2 The
em
element Interoperable - 4.6.3 The
strong
element Interoperable - 4.6.4 The
small
element Interoperable - 4.6.5 The
s
element Interoperable - 4.6.6 The
cite
element Interoperable - 4.6.7 The
q
element Interoperable - 4.6.8 The
dfn
element Interoperable - 4.6.9 The
abbr
element Interoperable - 4.6.10 The
time
element Needs Tests - 4.6.11 The
code
element Interoperable - 4.6.12 The
var
element Interoperable - 4.6.13 The
samp
element Interoperable - 4.6.14 The
kbd
element Interoperable - 4.6.15 The
sub
andsup
elements Interoperable - 4.6.16 The
i
element Interoperable - 4.6.17 The
b
element Interoperable - 4.6.18 The
u
element Interoperable - 4.6.19 The
mark
element Interoperable - 4.6.20 The
ruby
element Has implementations - 4.6.21 The
rt
element Has implementations - 4.6.22 The
rp
element Has implementations - 4.6.23 The
bdi
element Needs Tests - 4.6.24 The
bdo
element Needs Tests - 4.6.25 The
span
element Interoperable - 4.6.26 The
br
element Interoperable - 4.6.27 The
wbr
element - 4.6.28 Usage summary Interoperable
- 4.6.1 The
- 4.7 Edits
Has implementations
- 4.7.1 The
ins
element Has implementations - 4.7.2 The
del
element Has implementations - 4.7.3 Attributes common to
ins
anddel
elements Has implementations - 4.7.4 Edits and paragraphs Has implementations
- 4.7.5 Edits and lists Has implementations
- 4.7.6 Edits and tables Has implementations
- 4.7.1 The
- 4.8 Embedded content
- 4.8.1 The
img
element Interoperable- 4.8.1.1 Requirements for
providing text to act as an alternative for images
Interoperable
- 4.8.1.1.1 General guidelines Interoperable
- 4.8.1.1.2 A link or button containing nothing but the image Interoperable
- 4.8.1.1.3 A phrase or paragraph with an alternative graphical representation: charts, diagrams, graphs, maps, illustrations Interoperable
- 4.8.1.1.4 A short phrase or label with an alternative graphical representation: icons, logos Interoperable
- 4.8.1.1.5 Text that has been rendered to a graphic for typographical effect Interoperable
- 4.8.1.1.6 A graphical representation of some of the surrounding text Interoperable
- 4.8.1.1.7 A purely decorative image that doesn't add any information Interoperable
- 4.8.1.1.8 A group of images that form a single larger picture with no links Interoperable
- 4.8.1.1.9 A group of images that form a single larger picture with links Interoperable
- 4.8.1.1.10 A key part of the content Interoperable
- 4.8.1.1.11 An image not intended for the user Interoperable
- 4.8.1.1.12 Guidance for markup generators Interoperable
- 4.8.1.1.13 Guidance for conformance checkers Interoperable
- 4.8.1.1 Requirements for
providing text to act as an alternative for images
Interoperable
- 4.8.2 The
iframe
element Has implementations - 4.8.3 The
embed
element Has implementations - 4.8.4 The
object
element Has implementations - 4.8.5 The
param
element Has implementations - 4.8.6 The
video
element Has Tests and Implementations - 4.8.7 The
audio
element Has Tests and Implementations - 4.8.8 The
source
element Has Tests and Implementations - 4.8.9 The
track
element Has implementations - 4.8.10 Media
elements Has Tests and Implementations
- 4.8.10.1 Error codes Has Tests and Implementations
- 4.8.10.2 Location of the media resource Has Tests and Implementations
- 4.8.10.3 MIME types Has Tests and Implementations
- 4.8.10.4 Network states Has Tests and Implementations
- 4.8.10.5 Loading the media resource Has Tests and Implementations
- 4.8.10.6 Offsets into the media resource Has Tests and Implementations
- 4.8.10.7 Ready states Has Tests and Implementations
- 4.8.10.8 Playing the media resource Has Tests and Implementations
- 4.8.10.9 Seeking Has Tests and Implementations
- 4.8.10.10 Media resources
with multiple media tracks Has Tests and Implementations
- 4.8.10.10.1
AudioTrackList
andVideoTrackList
objects Has Tests and Implementations - 4.8.10.10.2 Selecting specific audio and video tracks declaratively Has Tests and Implementations
- 4.8.10.10.1
- 4.8.10.11 Synchronising
multiple media elements Has Tests and Implementations
- 4.8.10.11.1 Introduction Has Tests and Implementations
- 4.8.10.11.2 Media controllers Has Tests and Implementations
- 4.8.10.11.3 Assigning a media controller declaratively Has Tests and Implementations
- 4.8.10.12 Timed text
tracks Has Tests and Implementations
- 4.8.10.12.1 Text track model Has Tests and Implementations
- 4.8.10.12.2 Sourcing in-band text tracks Has Tests and Implementations
- 4.8.10.12.3 Sourcing out-of-band text tracks Has Tests and Implementations
- 4.8.10.12.4 Guidelines for exposing cues in various formats as text track cues Has Tests and Implementations
- 4.8.10.12.5 Text track API Has Tests and Implementations
- 4.8.10.12.6 Text tracks describing chapters Has Tests and Implementations
- 4.8.10.12.7 Event definitions Has Tests and Implementations
- 4.8.10.13 User interface Has Tests and Implementations
- 4.8.10.14 Time ranges Has Tests and Implementations
- 4.8.10.15 Event definitions Has Tests and Implementations
- 4.8.10.16 Event summary Has Tests and Implementations
- 4.8.10.17 Security and privacy considerations Has Tests and Implementations
- 4.8.10.18 Best practices for authors using media elements Has Tests and Implementations
- 4.8.10.19 Best practices for implementors of media elements Has Tests and Implementations
- 4.8.11 The
canvas
element Has Tests and Implementations- 4.8.11.1 Color spaces and color correction Has Tests and Implementations
- 4.8.11.2 Security with
canvas
elements Has Tests and Implementations
- 4.8.12 The
map
element Interoperable - 4.8.13 The
area
element Interoperable - 4.8.14 Image maps
Interoperable
- 4.8.14.1 Authoring Interoperable
- 4.8.14.2 Processing model Interoperable
- 4.8.15 MathML Has implementations
- 4.8.16 SVG Has implementations
- 4.8.17 Dimension attributes Interoperable
- 4.8.1 The
- 4.9 Tabular data
Interoperable
- 4.9.1 The
table
element Interoperable- 4.9.1.1 Techniques for describing tables Interoperable
- 4.9.1.2 Techniques for table layout Interoperable
- 4.9.2 The
caption
element Interoperable - 4.9.3 The
colgroup
element Interoperable - 4.9.4 The
col
element Interoperable - 4.9.5 The
tbody
element Interoperable - 4.9.6 The
thead
element Interoperable - 4.9.7 The
tfoot
element Interoperable - 4.9.8 The
tr
element Interoperable - 4.9.9 The
td
element Interoperable - 4.9.10 The
th
element Interoperable - 4.9.11 Attributes common to
td
andth
elements Interoperable - 4.9.12 Processing model
Interoperable
- 4.9.12.1 Forming a table Interoperable
- 4.9.12.2 Forming relationships between data cells and header cells Interoperable
- 4.9.13 Examples Interoperable
- 4.9.1 The
- 4.10 Forms
- 4.10.1 Introduction
Interoperable
- 4.10.1.1 Writing a form's user interface Interoperable
- 4.10.1.2 Implementing the server-side processing for a form Interoperable
- 4.10.1.3 Configuring a form to communicate with a server Interoperable
- 4.10.1.4 Client-side form validation Interoperable
- 4.10.1.5 Date, time, and number formats Interoperable
- 4.10.2 Categories Interoperable
- 4.10.3 The
form
element Has implementations - 4.10.4 The
fieldset
element Has implementations - 4.10.5 The
legend
element Interoperable - 4.10.6 The
label
element Interoperable - 4.10.7 The
input
element Needs Tests- 4.10.7.1 States of the
type
attribute Needs Tests- 4.10.7.1.1 Hidden
state (
type=hidden
) Needs Tests - 4.10.7.1.2 Text (
type=text
) state and Search state (type=search
) Needs Tests - 4.10.7.1.3 Telephone
state (
type=tel
) Needs Tests - 4.10.7.1.4 URL state (
type=url
) Needs Tests - 4.10.7.1.5 E-mail
state (
type=email
) Needs Tests - 4.10.7.1.6 Password
state (
type=password
) Needs Tests - 4.10.7.1.7 Date
and Time state (
type=datetime
)At Risk - 4.10.7.1.8 Date state
(
type=date
) Needs Tests - 4.10.7.1.9 Month
state (
type=month
) At Risk - 4.10.7.1.10 Week
state (
type=week
) At Risk - 4.10.7.1.11 Time
state (
type=time
) At Risk - 4.10.7.1.12 Local
Date and Time state (
type=datetime-local
)At Risk - 4.10.7.1.13 Number
state (
type=number
) Needs Tests - 4.10.7.1.14 Range
state (
type=range
) Needs Tests - 4.10.7.1.15 Color
state (
type=color
) At Risk - 4.10.7.1.16 Checkbox
state (
type=checkbox
) Needs Tests - 4.10.7.1.17 Radio
Button state (
type=radio
) Needs Tests - 4.10.7.1.18 File
Upload state (
type=file
) Needs Tests - 4.10.7.1.19 Submit
Button state (
type=submit
) Needs Tests - 4.10.7.1.20 Image
Button state (
type=image
) Needs Tests - 4.10.7.1.21 Reset
Button state (
type=reset
) Needs Tests - 4.10.7.1.22 Button
state (
type=button
) Needs Tests
- 4.10.7.1.1 Hidden
state (
- 4.10.7.2 Implemention notes regarding localization of form controls Needs Tests
- 4.10.7.3 Common
input
element attributes Needs Tests- 4.10.7.3.1 The
autocomplete
attribute Needs Tests - 4.10.7.3.2 The
dirname
attribute Needs Tests - 4.10.7.3.3 The
list
attribute Needs Tests - 4.10.7.3.4 The
readonly
attribute Needs Tests - 4.10.7.3.5 The
size
attribute Needs Tests - 4.10.7.3.6 The
required
attribute Needs Tests - 4.10.7.3.7 The
multiple
attribute Needs Tests - 4.10.7.3.8 The
maxlength
attribute Needs Tests - 4.10.7.3.9 The
pattern
attribute Needs Tests - 4.10.7.3.10 The
min
andmax
attributes Needs Tests - 4.10.7.3.11 The
step
attribute Needs Tests - 4.10.7.3.12 The
placeholder
attribute Needs Tests
- 4.10.7.3.1 The
- 4.10.7.4 Common
input
element APIs Needs Tests - 4.10.7.5 Common event behaviors Needs Tests
- 4.10.7.1 States of the
- 4.10.8 The
button
element Has implementations - 4.10.9 The
select
element Interoperable - 4.10.10 The
datalist
element Needs Tests - 4.10.11 The
optgroup
element Interoperable - 4.10.12 The
option
element Interoperable - 4.10.13 The
textarea
element Interoperable - 4.10.14 The
keygen
element Interoperable - 4.10.15 The
output
element At Risk - 4.10.16 The
progress
element Needs Tests - 4.10.17 The
meter
element Needs Tests - 4.10.18 Association of controls and forms Interoperable
- 4.10.19 Attributes common to
form controls
- 4.10.19.1 Naming form controls Interoperable
- 4.10.19.2 Enabling and disabling form controls Interoperable
- 4.10.19.3 A form control's value Interoperable
- 4.10.19.4 Autofocusing a form control Interoperable
- 4.10.19.5 Limiting user input length Interoperable
- 4.10.19.6 Form submission Interoperable
- 4.10.19.7 Submitting element directionality Needs Tests
- 4.10.20 APIs for the text field selections Needs Tests
- 4.10.21 Constraints
Has implementations
- 4.10.21.1 Definitions Has implementations
- 4.10.21.2 Constraint validation Has implementations
- 4.10.21.3 The constraint validation API Has implementations
- 4.10.21.4 Security Has implementations
- 4.10.22 Form
submission Interoperable
- 4.10.22.1 Introduction Interoperable
- 4.10.22.2 Implicit submission Interoperable
- 4.10.22.3 Form submission algorithm Interoperable
- 4.10.22.4 Constructing the form data set Interoperable
- 4.10.22.5 URL-encoded form data Interoperable
- 4.10.22.6 Multipart form data Interoperable
- 4.10.22.7 Plain text form data Interoperable
- 4.10.23 Resetting a form Interoperable
- 4.10.1 Introduction
Interoperable
- 4.11 Interactive elements
- 4.11.1 The
details
element At Risk - 4.11.2 The
summary
element At Risk 4.11.3 TheAt Riskcommand
element4.11.4 Themenu
element At Risk- 4.11.4.1 Introduction At Risk
- 4.11.4.2 Building menus and toolbars At Risk
- 4.11.4.3 Context menus At Risk
- 4.11.4.4 Toolbars At Risk
4.11.5 Commands At Risk- 4.11.5.1 Using the
a
element to define a command At Risk - 4.11.5.2 Using the
button
element to define a command At Risk - 4.11.5.3 Using the
input
element to define a command At Risk - 4.11.5.4 Using the
option
element to define a command At Risk - 4.11.5.5 Using the
command
element to define a command At Risk - 4.11.5.6 Using the
command
attribute oncommand
elements to define a command indirectly At Risk - 4.11.5.7 Using the
accesskey
attribute on alabel
element to define a command At Risk - 4.11.5.8 Using the
accesskey
attribute on alegend
element to define a command At Risk - 4.11.5.9 Using the
accesskey
attribute to define a command on other elements At Risk
- 4.11.5.1 Using the
- 4.11.6 The
dialog
element At Risk- 4.11.6.1 Anchor points At Risk
- 4.11.1 The
- 4.12 Links Interoperable
- 4.12.1 Introduction Interoperable
- 4.12.2 Links created by
a
andarea
elements Interoperable - 4.12.3 Following hyperlinks Interoperable
- 4.12.4 Downloading resources
Interoperable
- 4.12.4.1 Hyperlink auditing Interoperable
- 4.12.5 Link types Interoperable
- 4.12.5.1 Link type "
alternate
" Interoperable - 4.12.5.2 Link type "
author
" Interoperable - 4.12.5.3 Link type "
bookmark
" Interoperable - 4.12.5.4 Link type "
help
" Interoperable - 4.12.5.5 Link type "
icon
" Interoperable - 4.12.5.6 Link type "
license
" Interoperable - 4.12.5.7 Link type "
nofollow
" Interoperable - 4.12.5.8 Link type "
noreferrer
" Interoperable - 4.12.5.9 Link type "
prefetch
" Interoperable - 4.12.5.10 Link type "
search
" Interoperable - 4.12.5.11 Link type "
stylesheet
" Interoperable - 4.12.5.12 Link type "
tag
" Interoperable - 4.12.5.13 Sequential link
types Interoperable
- 4.12.5.13.1 Link type
"
next
" Interoperable - 4.12.5.13.2 Link type
"
prev
" Interoperable
- 4.12.5.13.1 Link type
"
- 4.12.5.14 Other link types Interoperable
- 4.12.5.1 Link type "
- 4.13 Common idioms
without dedicated elements Interoperable
- 4.13.1 The main part of the content Interoperable
- 4.13.2 Bread crumb navigation Interoperable
- 4.13.3 Tag clouds Interoperable
- 4.13.4 Conversations Interoperable
- 4.13.5 Footnotes Interoperable
- 4.14 Matching
HTML elements using selectors Has implementations
- 4.14.1 Case-sensitivity Has implementations
- 4.14.2 Pseudo-classes Has implementations
- 4.1 The root element
Interoperable
- 5 Loading Web
pages Has implementations
- 5.1 Browsing contexts Has implementations
- 5.1.1 Nested browsing contexts
Has implementations
- 5.1.1.1 Navigating nested browsing contexts in the DOM Has implementations
- 5.1.2 Auxiliary browsing
contexts Has implementations
- 5.1.2.1 Navigating auxiliary browsing contexts in the DOM Has implementations
- 5.1.3 Secondary browsing contexts Has implementations
- 5.1.4 Security Has implementations
- 5.1.5 Groupings of browsing contexts Has implementations
- 5.1.6 Browsing context names Has implementations
- 5.1.1 Nested browsing contexts
Has implementations
- 5.2 The
Window
object Has implementations- 5.2.1 Security Has implementations
- 5.2.2 APIs for creating and navigating browsing contexts by name Has implementations
- 5.2.3 Accessing other browsing contexts Has implementations
- 5.2.4 Named access on the
Window
object Has implementations - 5.2.5 Garbage collection and browsing contexts Has implementations
- 5.2.6 Closing browsing contexts Has implementations
- 5.2.7 Browser interface elements Has implementations
- 5.2.8 The
WindowProxy
object Has implementations
- 5.3 Origin Has implementations
- 5.3.1 Relaxing the same-origin restriction Has implementations
- 5.4 Sandboxing Has implementations
- 5.5 Session history and navigation
Has implementations
- 5.5.1 The session history of browsing contexts Has implementations
- 5.5.2 The
History
interface Has implementations - 5.5.3 The
Location
interface Has implementations- 5.5.3.1 Security Has implementations
- 5.5.4 Implementation notes for session history Has implementations
- 5.6 Browsing the Web Has implementations
- 5.6.1 Navigating across documents Has implementations
- 5.6.2 Page load processing model for HTML files Has implementations
- 5.6.3 Page load processing model for XML files Has implementations
- 5.6.4 Page load processing model for text files Has implementations
- 5.6.5 Page load processing
model for
multipart/x-mixed-replace
resources Has implementations - 5.6.6 Page load processing model for media Has implementations
- 5.6.7 Page load processing model for content that uses plugins Has implementations
- 5.6.8 Page load processing model for inline content that doesn't have a DOM Has implementations
- 5.6.9 Navigating to a fragment identifier Has implementations
- 5.6.10 History traversal
Has implementations
- 5.6.10.1 Event definitions Has implementations
- 5.6.11 Unloading documents
Has implementations
- 5.6.11.1 Event definition Has implementations
- 5.6.12 Aborting a document load Has implementations
- 5.7 Offline Web
applications At Risk
- 5.7.1 Introduction At Risk
- 5.7.1.1 Supporting offline caching for legacy applications At Risk
- 5.7.1.2 Event summary At Risk
- 5.7.2 Application caches At Risk
- 5.7.3 The cache manifest
syntax At Risk
- 5.7.3.1 Some sample manifests At Risk
- 5.7.3.2 Writing cache manifests At Risk
- 5.7.3.3 Parsing cache manifests At Risk
- 5.7.4 Downloading or updating an application cache At Risk
- 5.7.5 The application cache selection algorithm At Risk
- 5.7.6 Changes to the networking model At Risk
- 5.7.7 Expiring application caches At Risk
- 5.7.8 Disk space At Risk
- 5.7.9 Application cache API At Risk
- 5.7.10 Browser state At Risk
- 5.7.1 Introduction At Risk
- 5.1 Browsing contexts Has implementations
- 6 Web application APIs
- 6.1 Scripting Interoperable
- 6.1.1 Introduction Interoperable
- 6.1.2 Enabling and disabling scripting Interoperable
- 6.1.3 Processing model
Interoperable
- 6.1.3.1 Definitions Interoperable
- 6.1.3.2 Calling scripts Interoperable
- 6.1.3.3 Creating scripts Interoperable
- 6.1.3.4 Killing scripts Interoperable
- 6.1.3.5 Runtime script
errors
Interoperable
- 6.1.3.5.1 Runtime script errors in documents Interoperable
- 6.1.4 Event loops Interoperable
- 6.1.4.1 Definitions Interoperable
- 6.1.4.2 Processing model Interoperable
- 6.1.4.3 Generic task sources Interoperable
- 6.1.5 The
javascript:
URL scheme Interoperable - 6.1.6 Events Interoperable
- 6.1.6.1 Event handlers Interoperable
- 6.1.6.2 Event handlers on
elements,
Document
objects, andWindow
objects Interoperable - 6.1.6.3 Event firing Interoperable
- 6.1.6.4 Events and the
Window
object Interoperable
- 6.2 Base64 utility methods Has Tests and Implementations
- 6.3 Timers Interoperable
- 6.4 User prompts
Interoperable
- 6.4.1 Simple dialogs Interoperable
- 6.4.2 Printing Interoperable
- 6.4.3 Dialogs implemented using separate documents Interoperable
- 6.5 System state and
capabilities Interoperable
- 6.5.1 The
Navigator
object Interoperable- 6.5.1.1 Client identification Interoperable
- 6.5.1.2 Custom scheme and content handlers Interoperable At Risk
- 6.5.1.3 Security and privacy Interoperable
- 6.5.1.4 Sample user interface Interoperable
- 6.5.1.5 Manually releasing the storage mutex Interoperable
- 6.5.2 The
External
interface Interoperable
- 6.5.1 The
- 6.1 Scripting Interoperable
- 7 User interaction
- 7.1 The
hidden
attribute Has implementations - 7.2 Inert subtrees Interoperable
- 7.3 Activation Interoperable
- 7.4 Focus
Has implementations
- 7.4.1 Sequential focus
navigation and the
tabindex
attribute Has implementations - 7.4.2 Focus management Has implementations
- 7.4.3 Document-level focus APIs Has implementations
- 7.4.4 Element-level focus APIs Has implementations
- 7.4.1 Sequential focus
navigation and the
- 7.5 Assigning
keyboard shortcuts Has implementations
- 7.5.1 Introduction Has implementations
- 7.5.2 The
accesskey
attribute Has implementations - 7.5.3 Processing model Has implementations
- 7.6 Editing
Has implementations
- 7.6.1 Making document regions
editable: The
contenteditable
content attribute Has implementations - 7.6.2 Making entire documents
editable: The
designMode
IDL attribute Has implementations - 7.6.3 Best practices for in-page editors Has implementations
- 7.6.4 Editing APIs Has implementations
- 7.6.5 Spelling and grammar checking Has implementations
- 7.6.1 Making document regions
editable: The
- 7.7 Drag and
drop Has implementations
- 7.7.1 Introduction Has implementations
- 7.7.2 The drag data store Has implementations
- 7.7.3 The
DataTransfer
interface Has implementations- 7.7.3.1 The
DataTransferItemList
interface Has implementations - 7.7.3.2 The
DataTransferItem
interface Has implementations
- 7.7.3.1 The
- 7.7.4 The
DragEvent
interface Has implementations - 7.7.5 Drag-and-drop processing model Has implementations
- 7.7.6 Events summary Has implementations
- 7.7.7 The
draggable
attribute Has implementations - 7.7.8 The
dropzone
attribute Has implementations - 7.7.9 Security risks in the drag-and-drop model Has implementations
- 7.1 The
- 8 The
HTML syntax Has Tests and Implementations
- 8.1 Writing HTML documents Has Tests and Implementations
- 8.1.1 The DOCTYPE Has Tests and Implementations
- 8.1.2 Elements Has Tests and Implementations
- 8.1.2.1 Start tags Has Tests and Implementations
- 8.1.2.2 End tags Has Tests and Implementations
- 8.1.2.3 Attributes Has Tests and Implementations
- 8.1.2.4 Optional tags Has Tests and Implementations
- 8.1.2.5 Restrictions on content models Has Tests and Implementations
- 8.1.2.6 Restrictions on the contents of raw text and RCDATA elements Has Tests and Implementations
- 8.1.3 Text Has Tests and Implementations
- 8.1.3.1 Newlines Has Tests and Implementations
- 8.1.4 Character references Has Tests and Implementations
- 8.1.5 CDATA sections Has Tests and Implementations
- 8.1.6 Comments Has Tests and Implementations
- 8.2 Parsing HTML documents Has Tests and Implementations
- 8.2.1 Overview of the parsing model Has Tests and Implementations
- 8.2.2 The input byte stream
Has Tests and Implementations
- 8.2.2.1 Determining the character encoding Has Tests and Implementations
- 8.2.2.2 Character encodings Has Tests and Implementations
- 8.2.2.3 Changing the encoding while parsing Has Tests and Implementations
- 8.2.2.4 Preprocessing the input stream Has Tests and Implementations
- 8.2.3 Parse state Has Tests and Implementations
- 8.2.3.1 The insertion mode Has Tests and Implementations
- 8.2.3.2 The stack of open elements Has Tests and Implementations
- 8.2.3.3 The list of active formatting elements Has Tests and Implementations
- 8.2.3.4 The element pointers Has Tests and Implementations
- 8.2.3.5 Other parsing state flags Has Tests and Implementations
- 8.2.4 Tokenization Has Tests and Implementations
- 8.2.4.1 Data state Has Tests and Implementations
- 8.2.4.2 Character reference in data state Has Tests and Implementations
- 8.2.4.3 RCDATA state Has Tests and Implementations
- 8.2.4.4 Character reference in RCDATA state Has Tests and Implementations
- 8.2.4.5 RAWTEXT state Has Tests and Implementations
- 8.2.4.6 Script data state Has Tests and Implementations
- 8.2.4.7 PLAINTEXT state Has Tests and Implementations
- 8.2.4.8 Tag open state Has Tests and Implementations
- 8.2.4.9 End tag open state Has Tests and Implementations
- 8.2.4.10 Tag name state Has Tests and Implementations
- 8.2.4.11 RCDATA less-than sign state Has Tests and Implementations
- 8.2.4.12 RCDATA end tag open state Has Tests and Implementations
- 8.2.4.13 RCDATA end tag name state Has Tests and Implementations
- 8.2.4.14 RAWTEXT less-than sign state Has Tests and Implementations
- 8.2.4.15 RAWTEXT end tag open state Has Tests and Implementations
- 8.2.4.16 RAWTEXT end tag name state Has Tests and Implementations
- 8.2.4.17 Script data less-than sign state Has Tests and Implementations
- 8.2.4.18 Script data end tag open state Has Tests and Implementations
- 8.2.4.19 Script data end tag name state Has Tests and Implementations
- 8.2.4.20 Script data escape start state Has Tests and Implementations
- 8.2.4.21 Script data escape start dash state Has Tests and Implementations
- 8.2.4.22 Script data escaped state Has Tests and Implementations
- 8.2.4.23 Script data escaped dash state Has Tests and Implementations
- 8.2.4.24 Script data escaped dash dash state Has Tests and Implementations
- 8.2.4.25 Script data escaped less-than sign state Has Tests and Implementations
- 8.2.4.26 Script data escaped end tag open state Has Tests and Implementations
- 8.2.4.27 Script data escaped end tag name state Has Tests and Implementations
- 8.2.4.28 Script data double escape start state Has Tests and Implementations
- 8.2.4.29 Script data double escaped state Has Tests and Implementations
- 8.2.4.30 Script data double escaped dash state Has Tests and Implementations
- 8.2.4.31 Script data double escaped dash dash state Has Tests and Implementations
- 8.2.4.32 Script data double escaped less-than sign state Has Tests and Implementations
- 8.2.4.33 Script data double escape end state Has Tests and Implementations
- 8.2.4.34 Before attribute name state Has Tests and Implementations
- 8.2.4.35 Attribute name state Has Tests and Implementations
- 8.2.4.36 After attribute name state Has Tests and Implementations
- 8.2.4.37 Before attribute value state Has Tests and Implementations
- 8.2.4.38 Attribute value (double-quoted) state Has Tests and Implementations
- 8.2.4.39 Attribute value (single-quoted) state Has Tests and Implementations
- 8.2.4.40 Attribute value (unquoted) state Has Tests and Implementations
- 8.2.4.41 Character reference in attribute value state Has Tests and Implementations
- 8.2.4.42 After attribute value (quoted) state Has Tests and Implementations
- 8.2.4.43 Self-closing start tag state Has Tests and Implementations
- 8.2.4.44 Bogus comment state Has Tests and Implementations
- 8.2.4.45 Markup declaration open state Has Tests and Implementations
- 8.2.4.46 Comment start state Has Tests and Implementations
- 8.2.4.47 Comment start dash state Has Tests and Implementations
- 8.2.4.48 Comment state Has Tests and Implementations
- 8.2.4.49 Comment end dash state Has Tests and Implementations
- 8.2.4.50 Comment end state Has Tests and Implementations
- 8.2.4.51 Comment end bang state Has Tests and Implementations
- 8.2.4.52 DOCTYPE state Has Tests and Implementations
- 8.2.4.53 Before DOCTYPE name state Has Tests and Implementations
- 8.2.4.54 DOCTYPE name state Has Tests and Implementations
- 8.2.4.55 After DOCTYPE name state Has Tests and Implementations
- 8.2.4.56 After DOCTYPE public keyword state Has Tests and Implementations
- 8.2.4.57 Before DOCTYPE public identifier state Has Tests and Implementations
- 8.2.4.58 DOCTYPE public identifier (double-quoted) state Has Tests and Implementations
- 8.2.4.59 DOCTYPE public identifier (single-quoted) state Has Tests and Implementations
- 8.2.4.60 After DOCTYPE public identifier state Has Tests and Implementations
- 8.2.4.61 Between DOCTYPE public and system identifiers state Has Tests and Implementations
- 8.2.4.62 After DOCTYPE system keyword state Has Tests and Implementations
- 8.2.4.63 Before DOCTYPE system identifier state Has Tests and Implementations
- 8.2.4.64 DOCTYPE system identifier (double-quoted) state Has Tests and Implementations
- 8.2.4.65 DOCTYPE system identifier (single-quoted) state Has Tests and Implementations
- 8.2.4.66 After DOCTYPE system identifier state Has Tests and Implementations
- 8.2.4.67 Bogus DOCTYPE state Has Tests and Implementations
- 8.2.4.68 CDATA section state Has Tests and Implementations
- 8.2.4.69 Tokenizing character references Has Tests and Implementations
- 8.2.5 Tree construction Has Tests and Implementations
- 8.2.5.1 Creating and inserting elements Has Tests and Implementations
- 8.2.5.2 Closing elements that have implied end tags Has Tests and Implementations
- 8.2.5.3 Foster parenting Has Tests and Implementations
- 8.2.5.4 The rules for
parsing tokens in HTML content Has Tests and Implementations
- 8.2.5.4.1 The "initial" insertion mode Has Tests and Implementations
- 8.2.5.4.2 The "before html" insertion mode Has Tests and Implementations
- 8.2.5.4.3 The "before head" insertion mode Has Tests and Implementations
- 8.2.5.4.4 The "in head" insertion mode Has Tests and Implementations
- 8.2.5.4.5 The "in head noscript" insertion mode Has Tests and Implementations
- 8.2.5.4.6 The "after head" insertion mode Has Tests and Implementations
- 8.2.5.4.7 The "in body" insertion mode Has Tests and Implementations
- 8.2.5.4.8 The "text" insertion mode Has Tests and Implementations
- 8.2.5.4.9 The "in table" insertion mode Has Tests and Implementations
- 8.2.5.4.10 The "in table text" insertion mode Has Tests and Implementations
- 8.2.5.4.11 The "in caption" insertion mode Has Tests and Implementations
- 8.2.5.4.12 The "in column group" insertion mode Has Tests and Implementations
- 8.2.5.4.13 The "in table body" insertion mode Has Tests and Implementations
- 8.2.5.4.14 The "in row" insertion mode Has Tests and Implementations
- 8.2.5.4.15 The "in cell" insertion mode Has Tests and Implementations
- 8.2.5.4.16 The "in select" insertion mode Has Tests and Implementations
- 8.2.5.4.17 The "in select in table" insertion mode Has Tests and Implementations
- 8.2.5.4.18 The "after body" insertion mode Has Tests and Implementations
- 8.2.5.4.19 The "in frameset" insertion mode Has Tests and Implementations
- 8.2.5.4.20 The "after frameset" insertion mode Has Tests and Implementations
- 8.2.5.4.21 The "after after body" insertion mode Has Tests and Implementations
- 8.2.5.4.22 The "after after frameset" insertion mode Has Tests and Implementations
- 8.2.5.5 The rules for parsing tokens in foreign content Has Tests and Implementations
- 8.2.6 The end Has Tests and Implementations
- 8.2.7 Coercing an HTML DOM into an infoset Has Tests and Implementations
- 8.2.8 An introduction to error
handling and strange cases in the parser Has Tests and Implementations
- 8.2.8.1 Misnested tags: <b><i></b></i> Has Tests and Implementations
- 8.2.8.2 Misnested tags: <b><p></b></p> Has Tests and Implementations
- 8.2.8.3 Unexpected markup in tables Has Tests and Implementations
- 8.2.8.4 Scripts that modify the page as it is being parsed Has Tests and Implementations
- 8.2.8.5 The execution of scripts that are moving across multiple documents Has Tests and Implementations
- 8.2.8.6 Unclosed formatting elements Has Tests and Implementations
- 8.3 Serializing HTML fragments Has Tests and Implementations
- 8.4 Parsing HTML fragments Has Tests and Implementations
- 8.5 Named character references Has Tests and Implementations
- 8.1 Writing HTML documents Has Tests and Implementations
- 9 The XHTML syntax
- 9.1 Writing XHTML documents Interoperable
- 9.2 Parsing XHTML documents Interoperable
- 9.3 Serializing XHTML fragments Needs Tests
- 9.4 Parsing XHTML fragments Needs Tests
- 10 Rendering Interoperable
- 10.1 Introduction Interoperable
- 10.2 The CSS user agent style sheet and presentational hints Interoperable
- 10.3 Non-replaced elements
Interoperable
- 10.3.1 Hidden elements Interoperable
- 10.3.2 The page Interoperable
- 10.3.3 Flow content Interoperable
- 10.3.4 Phrasing content Interoperable
- 10.3.5 Bidirectional text Interoperable
- 10.3.6 Quotes Interoperable
- 10.3.7 Sections and headings Interoperable
- 10.3.8 Lists Interoperable
- 10.3.9 Tables Interoperable
- 10.3.10 Form controls Interoperable
- 10.3.11 The
hr
element Interoperable - 10.3.12 The
fieldset
element Interoperable
- 10.4 Replaced elements Interoperable
- 10.4.1 Embedded content Interoperable
- 10.4.2 Images Interoperable
- 10.4.3 Attributes for embedded content and images Interoperable
- 10.4.4 Image maps Interoperable
- 10.4.5 Toolbars Interoperable
- 10.5 Bindings Interoperable
- 10.5.1 Introduction Interoperable
- 10.5.2 The
button
element Interoperable - 10.5.3 The
details
element Interoperable - 10.5.4 The
input
element as a text entry widget Interoperable - 10.5.5 The
input
element as domain-specific widgets Interoperable - 10.5.6 The
input
element as a range control Interoperable - 10.5.7 The
input
element as a color well Interoperable - 10.5.8 The
input
element as a checkbox and radio button widgets Interoperable - 10.5.9 The
input
element as a file upload control Interoperable - 10.5.10 The
input
element as a button Interoperable - 10.5.11 The
marquee
element Interoperable - 10.5.12 The
meter
element Interoperable - 10.5.13 The
progress
element Interoperable - 10.5.14 The
select
element Interoperable - 10.5.15 The
textarea
element Interoperable - 10.5.16 The
keygen
element Interoperable
- 10.6 Frames and framesets Interoperable
- 10.7 Interactive media Interoperable
- 10.7.1 Links, forms, and navigation Interoperable
- 10.7.2 The
title
attribute Interoperable - 10.7.3 Editing hosts Interoperable
- 10.7.4 Text rendered in native user interfaces Interoperable
- 10.8 Print media Interoperable
- 10.9 Unstyled XML documents Interoperable
- 11 Obsolete features
Interoperable
- 11.1 Obsolete but conforming
features Interoperable
- 11.1.1 Warnings for obsolete but conforming features Interoperable
- 11.2 Non-conforming features Interoperable
- 11.3 Requirements for
implementations Interoperable
- 11.3.1 The
applet
element Interoperable - 11.3.2 The
marquee
element Interoperable - 11.3.3 Frames Interoperable
- 11.3.4 Other elements, attributes and APIs Interoperable
- 11.3.1 The
- 11.1 Obsolete but conforming
features Interoperable
- 12 IANA considerations
Interoperable
- 12.1
text/html
Interoperable - 12.2
multipart/x-mixed-replace
Interoperable - 12.3
application/xhtml+xml
Interoperable - 12.4
application/x-www-form-urlencoded
Interoperable - 12.5
text/cache-manifest
Interoperable - 12.6
Ping-To
Interoperable - 12.7
web+
scheme prefix Interoperable
- 12.1
- Index Interoperable
- Elements Interoperable
- Element content categories Interoperable
- Attributes Interoperable
- Element Interfaces Interoperable
- All Interfaces Interoperable
- Events Interoperable
- References Interoperable
- Acknowledgements Interoperable