A feature history of the modern Web Platform
When and where selected new Web-platform features
were first specified, post-HTML4 and post-CSS2.1.
-
2003-09-05
XHTML Module: Extensions to Form Controls
-
The post-HTML4/CSS2.1 Web Platform spec history begins
with these additions to the HTML language:
-
datetime,
date,
expdate,
time,
number,
integer,
and email
values for the type attribute of the
input element
<input minimum> and <input maximum> (soon after renamed to just min and max)
<select editable> (later changed to <input list> plus datalist element)
<textarea wrap>
pattern attribute for text-input controls
required attribute for form controls
form attribute for form controls
autocomplete attribute for form controls
inputmode attribute for text-input controls (later dropped and then re-introduced)
help attribute for form controls (borrowed from XForms, later dropped)
- client-side HTML form validation
-
2003-12-03
Proposed XHTML Module: XForms Basic
-
-
2004-02-05
Web Forms 2.0
-
<input type=week>
<input type=tel> (later dropped but then later re-added)
<input type=location> (later dropped)
<input precision> (later renamed to step)
<form replace> (later dropped)
-
2004-03-09
Web Forms 2.0
-
-
2004-04-07
Web Applications Markup Language 1.0
-
- Document-level focus API
- Element-level focus API
-
2004-06-27
Web Forms 2.0
-
<input type=local-datetime> (later renamed to datetime-local)
<input type=month>
autofocus attribute for form controls
-
2004-09-23
Web Applications 1.0
-
-
2004-12-08
-
navigation element (later renamed to nav)
header element
footer element
article element
sidebar element (later renamed to aside)
calendar element (later dropped)
card element (later dropped)
- inline data idea (placeholder for “where elements such as <date> or <time> might be defined”)
gauge element (later renamed to meter)
- progress meters (placeholder)
- data grids/trees (placeholder)
context-menu attribute (later renamed to contextmenu)
contentEditable attribute (first specified; later renamed to contenteditable)
ElementTraversal interface
Audio interface (later changed to HTMLAudioElement)
Connection interface (later changed to WebSocket)
-
2004-12-10
Web Forms 2.0
-
datalist element
<input list>
-
2005-02
-
- alternate style sheets (later moved to CSSOM)
-
2005-03
-
- cross-document messaging (
postMessageUp and postMessageDown methods, shortly after changed to postMessage)
-
2005-04
-
m element (later renamed to mark)
datagrid element (later dropped)
- outline algorithm
- parsing algorithm (placeholder)
- drag-and-drop (first specified; placeholder)
-
2005-06
-
- undo history (placeholder)
History interface (placeholder)
Location interface (placeholder)
-
2005-07
-
-
2005-08
-
- browsing context term
- client-side persistent storage (placeholder)
-
2005-09
-
Storage interface, sessionStorage, globalStorage (later renamed to localStorage)
-
2005-11
-
execCommand method (first specified)
-
2005-12
-
getSelection method (first specified)
-
2006-01
-
-
2006-02
-
- 2006-03
-
meter element
progress element
- 2006-04
-
- Navigating across documents section (placeholder)
- Custom protocol and content handlers section
registerProtocolHandler() method
registerContentHandler() method
isPointInPath() method
- 2006-05
-
<script defer>
<script async>
- 2006-06 & 2006-07
-
- 2006-08 & 2006-09
-
document.write()
innerHTML
- drag-and-drop (for real)
- 2006-10
-
t element (later renamed to time)
HTMLCollection, HTMLFormControlsCollection, HTMLOptionsCollection
document.getSelection
designMode (placeholder)
- 2006-11
-
- 2006-12 through 2007-03
-
<style scoped>
video element
audio element
- 2007-04
-
source element
placeholder attribute
- 2007-05
-
DOMContentLoaded event
WebSQL (later dropped)
- 2007-06 through 2007-10
-
- offline Web applications
scrollIntoView()
- 2007-11
-
- 2007-12 through 2008-04
-
- SVG and MathML support in text/html (SVG soon after dropped and later reintroduced)
data-* attributes and associated dataset API
<ol reversed>
createTBody() for the table element
showModalDialog()
document.domain
<source pixelratio> (later dropped)
bufferedBytes, totalBytes and bufferingThrottled IDL attributes for the video element (later dropped)
- 2008-05
-
ruby, rt, and rp elements
<iframe seamless>
<iframe sandbox>
<link sizes>
- Web Notifications
- 2008-06
-
- 2008-07
-
- 2008-07
-
- 2008-08
-
outerHTML
insertAdjacentHTML
- 2008-09 through 2008-10
-
- 2008-09 through 2009-02
-
<input type=color>
<input type=search>
<input multiple> (for file and email, later also for range)
novalidate attribute for input, button and form elements (later renamed to formnovalidate for input and button)
indeterminate IDL attribute for the input element (for checkboxes)
MessageChannel
bb element (later dropped)
a element now allowed nested flow content
window.frameElement
- event loop and task queue
hidden attribute (earlier irrelevant)
<audio loop> and <video loop>
canPlayType() on audio and video elements
location.resolveURL() on location (later dropped, later replaced by URL() constructor)
unload and beforeunload events
- 2009-02 through 2009-04
-
spellcheck global attribute
autobuffer attribute on audio and video elements (later changed to preload)
locationbar, menubar, personalbar, scrollbars, statusbar and toolbar IDL attributes on window
- rendering section
- storage mutex concept and
navigator.getStorageUpdates() (later made optional due to refusal to implement)
<textarea placeholder>
- 2009-04
-
keygen element
hgroup element
- 2009-04 through 2009-08
-
startTime on audio and video elements (later initialTime, later dropped; separately startOffsetTime was added and later renamed to startDate and then getStartDate())
<section cite> and <article cite> (later dropped)
- The last of the parsing quirks
textLength IDL attribute on textarea element
location.reload()
files IDL attribute on input element and the drag-and-drop DataTransfer object
- WAI-ARIA integrated in HTML
- 2009-05
-
- 2009-08 through 2010-03
-
document.head
createHTMLDocument()
text/html-sandboxed MIME type (later dropped)
- 2010-01
-
drawFocusRing() (later changed to drawSystemFocusRing() and drawCustomFocusRing())
<iframe srcdoc>
figcaption element (earlier legend)
summary element (earlier legend)
- 2010-02 through 2011-01
-
wbr element
device element and AbstractPeer and PeerToPeerServer interfaces (later changed to WebRTC)
- WebSRT (later renamed to WebVTT), the
track element and associated API
<select required>
<video audio=muted> (later changed to muted attribute)
dropzone attribute
bdi element
dir="auto"
<input dirname>
- 2011-01 through 2011-04
-
history.state
atob() and btoa()
- 2011-04 through 2011-05
-
toBlob() method on canvas element
selectionDirection IDL attribute on input and textarea elements
MediaController API and the mediagroup attribute
- 2011-05 through 2012-03
-
translate global attribute
beforescriptexecute and afterscriptexecute events for script elements
window.onerror fourth argument for column position
- CSS
@global at-rule (later dropped)
data element
isProtocolHandlerRegistered(), isContentHandlerRegistered(), unregisterProtocolHandler() and unregisterContentHandler()
- Transferring objects instead of cloning for
window.postMessage
typemustmatch attribute on object element
crossorigin attribute on img, video and audio elements
external IDL attribute on window
ellipse() method on canvas 2d context
Path object for canvas 2d context
http+aes: and https+aes: URL schemes (later dropped)
download attribute on the a element
window.find() placeholder section (later dropped)
- 2012-03 through 2012-09
-
inBandMetadataTrackDispatchType IDL attribute on TextTrack
setRangeText() method on input and textarea elements
<img srcset>
dialog element
inert global attribute (later dropped)
dialog value for the method attribute on the form element
resetTransform() method, currentTransform IDL attribute, several IDL attributes for font metrics, resetClip() method, imageSmoothingEnabled IDL attribute, addHitRegion() method, removeHitRegion() method and support for dashed lines for the canvas 2d context
- 2012-09 through 2013-05
-
isPointInStroke() for canvas 2d context
dragexit event for drag-and-drop
invalid event on the form element
main element
fillRule IDL attribute for canvas 2d context
navigator.language
menuitem element
sortable tables
document.currentScript
<link crossorigin>
<script crossorigin>
canvas indirect and proxied rendering contexts
direction IDL attribute for canvas 2d context
screen.canvasResolution
PortCollection
supportsContext() method for the canvas element
forceSpellCheck() method on HTML elements
fastSeek() method on audio and video elements
- 2013-05 through 2014-08
-
<textarea minlength>
reportValidity() on form elements
BroadcastChannel
template element
requestAutocomplete()
picture element, <img sizes>