Despite the fact that many new technologies have evolved, the importance of HTML has not diminished. In fact, it is going to be around for a long period of time.W3C launched HTML5 to shape the next generation of HTML. It cannot be denied that the semantics of HTML are important for its future. With time, developers have run out of HTML elements and attributes with which to mark up more richly semantic documents. As a semantic markup language, HTML has some fundamental defects- its semantics are fixed, not extensible. Even PSD to HTML conversion will be affected with the emergence of HTML5, as many people would like to convert PSD to HTML5 instead of plain html.
Now coming back to HTML5 semantics, a number of developers use the class and id attributes of HTML to create more richly semantic markup. HTML requires some mechanisms that clearly enable developers to add richer, more meaningful semantics—not pseudo semantics—to their markup. And this is precisely the goal of HTML5 project. However, it is not simple to create richer semantics in HTML content. There are significant constraints on any solution. One of the biggest of them is perhaps backward compatibility. If a solution is not backward compatible, it is not going to be adopted by developers who would fear the readers’ exclusion.
The solution should be forward compatible. By that it does not solely mean that it should be compatible with future browsers. In fact, it should be, rather must be extensible. It would not be feasible to expect any single solution to solve all imaginable and unimaginable future semantic needs. Instead the need is to develop a solution that can be extended to help meet future needs as and when they arise.
These two constraints pose a great challenge. However, considering the fact that HTML is highly important as a global platform for communication, it is of paramount importance to solve this challenge. Let us see how HTML5 is addressing this issue. To begin with, HTML5 introduces a number of new elements. Some of these are structural- section, aside, header, footer etc. There are also a number of data elements. Although these elements might be useful and they have generated some interest as well, but do they really solve the problem, especially when it comes to forward and backward compatibility.
Discussed below are each of the constraints.
Backward compatibility: when it comes to backward compatibility, there is a serious issue with 75% of browsers currently in use. It can be predicted that most of the users would be using IE6 or IE7 even several years from now. Even if HTML5 introduces these new elements, it cannot be said with certitude that they will be implemented by a vast majority of developers as they are essentially incompatible with the majority of browsers in use.
Forward compatibility: The addition of the new elements will address the need for greater semantic capability in HTML, but only within a narrow scope. No matter how many elements are added to HTML, we will always think of more semantic goodness to add to HTML. This would not solve the problem. Instead of adding specific terms to the vocabulary of HTML, there is a need to add a mechanism that allows semantic richness to be added to a document as per the requirement. In technical terms, HTML should be made extensible. HTML5 proposes no mechanism for extensibility.
If adding elements does not solve the problem, attributes are the other logical area of HTML to concentrate on. For that there is a need to come up with one or more new attributes. HTML 5 should adopt a number of new attributes. Each of these attributes would relate to a category or type of semantics. HTML includes structural semantics, rhetorical semantics, role semantics (adopted from XHTML), and other classes or categories of semantics. These new attributes could then be used much as the class attribute is used: to attach to an element semantics that describe the nature of the element, or to add metadata about the element.