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>