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
, andemail
values for thetype
attribute of theinput
element <input minimum>
and<input maximum>
(soon after renamed to justmin
andmax
)<select editable>
(later changed to<input list>
plusdatalist
element)<textarea wrap>
pattern
attribute for text-input controlsrequired
attribute for form controlsform
attribute for form controlsautocomplete
attribute for form controlsinputmode
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
-
<input type=uri>
(later renamed tourl
)output
elementXForms 1.0 (2001-06-08 sixth WD) was first to have an
output
element
- 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 tostep
)<form replace>
(later dropped)
- 2004-03-09 Web Forms 2.0
-
<input type=range>
- 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 todatetime-local
)<input type=month>
autofocus
attribute for form controls
- 2004-09-23 Web Applications 1.0
-
<!DOCTYPE html PUBLIC "-//WHATWG//NONSGML HTML5//EN">
(later changed)command
attribute (later dropped but then later re-added)command
element (later dropped)commandset
element (later dropped)button
elementmenu
elementmenulabel
element (later dropped)menubar
element (later dropped)section
elementXHTML 2.0 (2004-07-22 sixth public working draft) had a
section
elementtabbox
element (later dropped)switch
element (later dropped)canvas
elementevent-source
element (later renamed toeventsource
and then dropped)- server-sent events
getElementsByClass
method (later renamed togetElementsByClassName
)Window
interface (first specified)XMLHttpRequest
interface (first specified)
- 2004-12-08
-
navigation
element (later renamed tonav
)header
elementfooter
elementarticle
elementsidebar
element (later renamed toaside
)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 tometer
)- progress meters (placeholder)
- data grids/trees (placeholder)
context-menu
attribute (later renamed tocontextmenu
)contentEditable
attribute (first specified; later renamed tocontenteditable
)ElementTraversal
interfaceAudio
interface (later changed toHTMLAudioElement
)Connection
interface (later changed toWebSocket
)
- 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
andpostMessageDown
methods, shortly after changed topostMessage
)
- cross-document messaging (
- 2005-04
-
m
element (later renamed tomark
)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
-
<!DOCTYPE html>
- 2005-08
-
- browsing context term
- client-side persistent storage (placeholder)
- 2005-09
-
Storage
interface,sessionStorage
,globalStorage
(later renamed tolocalStorage
)
- 2005-11
-
execCommand
method (first specified)
- 2005-12
-
getSelection
method (first specified)
- 2006-01
-
UndoManager
interface
- 2006-02
-
- parsing algorithm
- 2006-03
-
meter
elementprogress
element
- 2006-04
-
- Navigating across documents section (placeholder)
- Custom protocol and content handlers section
registerProtocolHandler()
methodregisterContentHandler()
methodisPointInPath()
method
- 2006-05
-
<script defer>
<script async>
- 2006-06 & 2006-07
-
details
element
- 2006-08 & 2006-09
-
document.write()
innerHTML
- drag-and-drop (for real)
- 2006-10
-
t
element (later renamed totime
)HTMLCollection
,HTMLFormControlsCollection
,HTMLOptionsCollection
document.getSelection
designMode
(placeholder)
- 2006-11
-
figure
element
- 2006-12 through 2007-03
-
<style scoped>
video
elementaudio
element
- 2007-04
-
source
elementplaceholder
attribute
- 2007-05
-
DOMContentLoaded
eventWebSQL
(later dropped)
- 2007-06 through 2007-10
-
- offline Web applications
scrollIntoView()
- 2007-11
-
ping
attribute
- 2007-12 through 2008-04
-
- SVG and MathML support in text/html (SVG soon after dropped and later reintroduced)
data-*
attributes and associateddataset
API<ol reversed>
createTBody()
for thetable
elementshowModalDialog()
document.domain
<source pixelratio> (later dropped)
bufferedBytes
,totalBytes
andbufferingThrottled
IDL attributes for thevideo
element (later dropped)
- 2008-05
-
ruby
,rt
, andrp
elements<iframe seamless>
<iframe sandbox>
<link sizes>
- Web Notifications
- 2008-06
-
- URL parsing
- 2008-07
-
- Web Sockets
- 2008-07
-
- Web Workers
- 2008-08
-
outerHTML
insertAdjacentHTML
- 2008-09 through 2008-10
-
autofocus
attribute
- 2008-09 through 2009-02
-
<input type=color>
<input type=search>
<input multiple>
(forfile
andemail
, later also forrange
)novalidate
attribute forinput
,button
andform
elements (later renamed toformnovalidate
forinput
andbutton
)indeterminate
IDL attribute for theinput
element (for checkboxes)MessageChannel
bb
element (later dropped)a
element now allowed nested flow contentwindow.frameElement
- event loop and task queue
hidden
attribute (earlierirrelevant
)<audio loop>
and<video loop>
canPlayType()
onaudio
andvideo
elementslocation.resolveURL()
onlocation
(later dropped, later replaced byURL()
constructor)unload
andbeforeunload
events
- 2009-02 through 2009-04
-
spellcheck
global attributeautobuffer
attribute onaudio
andvideo
elements (later changed topreload
)locationbar
,menubar
,personalbar
,scrollbars
,statusbar
andtoolbar
IDL attributes onwindow
- rendering section
- storage mutex concept and
navigator.getStorageUpdates()
(later made optional due to refusal to implement) <textarea placeholder>
- 2009-04
-
keygen
elementhgroup
element
- 2009-04 through 2009-08
-
startTime
onaudio
andvideo
elements (laterinitialTime
, later dropped; separatelystartOffsetTime
was added and later renamed tostartDate
and thengetStartDate()
)<section cite>
and<article cite>
(later dropped)- The last of the parsing quirks
textLength
IDL attribute ontextarea
elementlocation.reload()
files
IDL attribute oninput
element and the drag-and-dropDataTransfer
object- WAI-ARIA integrated in HTML
- 2009-05
-
- HTML Microdata
- 2009-08 through 2010-03
-
document.head
createHTMLDocument()
text/html-sandboxed
MIME type (later dropped)
- 2010-01
-
drawFocusRing()
(later changed todrawSystemFocusRing()
anddrawCustomFocusRing()
)<iframe srcdoc>
figcaption
element (earlierlegend
)summary
element (earlierlegend
)
- 2010-02 through 2011-01
-
wbr
elementdevice
element andAbstractPeer
andPeerToPeerServer
interfaces (later changed to WebRTC)- WebSRT (later renamed to WebVTT), the
track
element and associated API <select required>
<video audio=muted>
(later changed tomuted
attribute)dropzone
attributebdi
elementdir="auto"
<input dirname>
- 2011-01 through 2011-04
-
history.state
atob()
andbtoa()
- 2011-04 through 2011-05
-
toBlob()
method oncanvas
elementselectionDirection
IDL attribute oninput
andtextarea
elementsMediaController
API and themediagroup
attribute
- 2011-05 through 2012-03
-
translate
global attributebeforescriptexecute
andafterscriptexecute
events forscript
elementswindow.onerror
fourth argument for column position- CSS
@global
at-rule (later dropped) data
elementisProtocolHandlerRegistered()
,isContentHandlerRegistered()
,unregisterProtocolHandler()
andunregisterContentHandler()
- Transferring objects instead of cloning for
window.postMessage
typemustmatch
attribute onobject
elementcrossorigin
attribute onimg
,video
andaudio
elementsexternal
IDL attribute onwindow
ellipse()
method oncanvas
2d contextPath
object forcanvas
2d contexthttp+aes:
andhttps+aes:
URL schemes (later dropped)download
attribute on thea
elementwindow.find()
placeholder section (later dropped)
- 2012-03 through 2012-09
-
inBandMetadataTrackDispatchType
IDL attribute onTextTrack
setRangeText()
method oninput
andtextarea
elements<img srcset>
dialog
elementinert
global attribute (later dropped)dialog
value for themethod
attribute on theform
elementresetTransform()
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 thecanvas
2d context
- 2012-09 through 2013-05
-
isPointInStroke()
forcanvas
2d contextdragexit
event for drag-and-dropinvalid
event on theform
elementmain
elementfillRule
IDL attribute forcanvas
2d contextnavigator.language
menuitem
elementsortable
tablesdocument.currentScript
<link crossorigin>
<script crossorigin>
canvas
indirect and proxied rendering contextsdirection
IDL attribute forcanvas
2d contextscreen.canvasResolution
PortCollection
supportsContext()
method for thecanvas
elementforceSpellCheck()
method on HTML elementsfastSeek()
method onaudio
andvideo
elements
- 2013-05 through 2014-08
-
<textarea minlength>
reportValidity()
on form elementsBroadcastChannel
template
elementrequestAutocomplete()
picture
element,<img sizes>