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
  • minimum and maximum attributes of the input element (soon after renamed to just min and max)
  • editable attribute for the select element (later dropped)
  • wrap attribute for the textarea element
  • 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)
  • help attribute for form controls (borrowed from XForms, later dropped)
  • client-side HTML form validation
2003-12-03 Proposed XHTML Module: XForms Basic
  • uri value for the type attribute of the input element (later renamed to url)
  • output element

    XForms 1.0 (2001-06-08 sixth WD) was first to have an output element

2004-02-05 Web Forms 2.0
  • week value for the type attribute of the input element
  • tel value for the type attribute of the input element (later dropped but then later re-added)
  • location value for the type attribute of the input element (later dropped)
  • precision attribute for the input element (later renamed to step)
  • replace attribute for the form element (later dropped)
2004-03-09 Web Forms 2.0
  • range value for the type attribute of the input element
2004-04-07 Web Applications Markup Language 1.0
  • Document-level focus API
  • Element-level focus API
2004-06-27 Web Forms 2.0
  • local-datetime value for the type attribute of the input element (later renamed to datetime-local)
  • month value for the type attribute of the input element
  • 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
  • commandset element (later dropped)
  • button element
  • menu element
  • menulabel element (later dropped)
  • menubar element (later dropped)
  • section element

    XHTML 2.0 (2004-07-22 sixth public working draft) had a section element

  • tabbox element (later dropped)
  • switch element (later dropped)
  • canvas element
  • event-source element (later dropped)
  • server-sent events
  • getElementsByClass method (later renamed to getElementsByClassName)
  • Window interface (first specified)
  • XMLHttpRequest interface (first specified)
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
  • list attribute of the input element
2005-02
  • alternate style sheets (later dropped)
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
  • <!DOCTYPE html>
2005-08
  • browsing context term
  • client-side persistent storage (placeholder)
2005-09
  • Storage interface, sessionStorage, globalStorage
2005-11
  • execCommand method (first specified)
2005-12
  • getSelection method (first specified)
2006-01
  • UndoManager interface
2006-02
  • parsing algorithm
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
  • defer attribute for the script element
  • async attribute for the script element
2006-06 & 2006-07
  • details element
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
  • figure element
2006-12 through 2007-03
  • scoped attribute on the style element
  • video element
  • audio element
2007-04
  • source element
  • placeholder attribute
2007-05
  • DOMContentLoaded
  • WebSQL (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
  • data-* attributes
2008-05
  • ruby, rt, and rp elements
  • seamless attribute for the iframe element
  • sandbox attribute for the iframe element
  • sizes attribute for the link element
  • 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
2009-04
  • keygen element
  • hgroup element
2009-05
  • HTML Microdata
2010-01
  • drawFocusRing
  • srcdoc attribute for the iframe element
  • figcaption element
  • summary element