This document serves a rationale document for various parts of the HTML5 specification. Over time this page will be a complete rationale document.
- Why no namespaces
- Why no script implements
- Why not reuse legend or another mini-header element.
- Rationale for a variety of elements
the <plaintext> element is a obsolete precursor to the <pre> element. It is is now in the HTML5 spec as a method of stopping all further html token parsing. It lacks an end tag and just emits the rest of the page as plain text. It throws a parse error upon reaching the end of the document as it is not considered a valid element (and it is missing an end-tag).
<image> element is treated as an alternate (but invalid) name for <img>. This is because some sites (around 0.2%) make this mistake. It is already treated as an image by most major browsers.
Meter and Progress (are not the same thing)
<meter> is not just a special case of <progress>. The meter element represents a scalar measurement within a known range, such as storage quota usage, a relative popularity rating or relevance indicator. The control allows for the indication of high and low ranges, or minimum, maximum and optimal levels.
The progress element, on the other hand, represents the completion progress of a task. This could be a real time indicator for background processing task (e.g. using Web Workers or a file upload). Progress elmements can also be in the indeterminate state, indicating that something is in progress, but it's completion progress is unknown.
The default rendering for a meter element could look something like the following:
Whereas, the default rendering for the progress element could look like this:
Alternatively, an indeterminate progress bar could also be styled as a throbber, which indicates progress without any indication of the remaining progress:
See Re: <progress> draft for details.