What is HTML5?
HTML5 is commonly thought to be the fifth version, or release, of the Hypertext Markup Language (HTML), a standardized descriptive language that specifies how to structure webpages. Despite this usage, the term HTML5 is now treated as more of a buzzword than a version, one that loosely describes a set of modern web technologies, including HTML.
The HTML standard has been officially dubbed the "HTML Living Standard" by the Web Hypertext Application Technology Working Group (WHATWG), a consortium of individuals and organizations that maintain the HTML specification. The group describes HTML as a "living standard" because it is continuously being updated based on feedback from developers, vendors and other interested parties.
The HTML standard is no longer tied to specific version numbers such as HTML4 or HTML5. Instead, new features are added to the standard over time as part of its ongoing maintenance. Each change is embodied in a GitHub commit that triggers the publication of a frozen snapshot, which in turn serves as a historical reference at a given point in time. The GitHub repository is open to the public, where anyone can view or download a specific snapshot.
Despite this concept of a "living standard," the current specifications are still mostly thought of as HTML5. Although the "5" has been dropped from the official name, there's a general perception that the current HTML version, which followed HTML4, is for all practical purposes HTML5. When the newer version was first introduced, it was officially referred to HTML5, and that label has stuck throughout its history. It is this version that gave rise to the modern web as we know it today.
What is the purpose of HTML5?
HTML5 helped solve many compatibility issues inherent in HTML4, which required proprietary APIs or plugins such as Flash and Silverlight. These issues often explained why a webpage built and tested in one browser might not load correctly in another browser. HTML5 provides a common interface that makes it easier to render the same webpage on different browsers (although there can still be inconsistencies and functional differences between browsers).
The original design goals for HTML5 included support for advanced graphics, embedded multimedia such as video and audio, and other capabilities not possible with HTML4 or earlier versions. HTML5 introduced several important features to improve how applications run and how users interact with HTML documents:
- New parsing rules for HTML documents.
- Many new attributes for enhancing website design.
- Elimination of outmoded or redundant attributes.
- Messaging enhancements.
- Drag-and-drop capabilities.
- Offline editing.
- Local web storage and application caching.
- MIME and protocol handler registration.
- Support for geolocation functionality.
These are some of the features added to the HTML standard to improve the types of functionality that a webpage could support. In fact, HTML5 has been integral in moving the web into a new era of capabilities, far exceeding what used to be possible within a browser. Of course, the browsers themselves had to be updated, but all major browsers now support HTML5 to varying degrees.
An HTML webpage is a plaintext document made up of elements that define the document's structure. Each element is surrounded by matching open and close tags, with each tag enclosed in angle brackets. The tag pairs typically enclose some type of text or one or more other elements, although some tag pairs include neither. Elements can also be extended with attributes that provide additional information or instructions. For example, a webpage might include a <blockquote> element that contains an embedded <p> element:
<p>A paragraph of text goes here…</p>
The outer element begins with the <blockquote> tag and ends with the </blockquote> tag. An ending tag is always preceded with a forward slash. The opening tag also includes the cite attribute, which in this case, points to the TechTarget URL. The <p> element is embedded in the <blockquote> element, between the begin and end tags. The embedded element starts with the <p> tag, ends with the </p> tag, and contains the paragraph text in between, which will be displayed on the webpage.
HTML5 and the HTML Living Standard
Tim Berners-Lee invented HTML in 1989 and officially introduced it to the world in the early 1990s. In late 1994, he founded the World Wide Web Consortium (W3C), which took over the HTML specifications. After several years of working on the specifications, the W3C switched its focus from HTML to XHTML.
Not everyone was happy about this switch. In 2004, a group of individuals from Apple, the Mozilla Foundation and Opera Software formed the WHATWG consortium to continue the work on HTML, which had come to a halt at the W3C.
A couple years later, however, the W3C turned its focus back to HTML and began working with WHATWG on the specification. Out of this effort, the W3C published the first public draft of HTML5 in 2008 and then the official standard in 2014. In the meantime, both organizations continued to work on the standard independently, with W3C focused on numbered versions and WHATWG evolving its Living Standard.
Sometimes the organizations worked together, and sometimes they worked at cross-purposes. This continued until May 2019, when the W3C and WHATWG announced that they had signed an agreement to collaborate on the development of a single version of the HTML specification and Document Object Model (DOM) specification.
Recognizing that competing specifications could be harmful to the industry, the organizations agreed to designate the WHATWG Living Standard as the primary specification, with WHATWG responsible for maintaining it. They also agreed that W3C would stop its own HTML efforts and work with the WHATWG to continue developing the specification.
The WHATWG consortium currently maintains a repository on GitHub that contains the HTML Living Standard files. The group also offers detailed documentation about the specification on its website. The repository and documentation represent the latest work on the HTML standard. When people reference HTML5, they are usually referring to this work.