Now a days, you cannot ignore HTML 5, if you are even remotely associated with websites, content management, blogs, digital marketing. Well.. HTML is feel-good story that gradually evolved from 1980’s . It is a lovely language and simple enough that writing website was easy. So, everyone did, and the web transformed to what it is today. As time passed, we reach to HTML 5.
While it’s certainly true that HTML5 has the potential to change the web for the better, the reality is that these kinds of major changes can be difficult to grasp and embrace. So I thought to brief on top 10 Design principles of HTML5. Why design principles? They are quite important and considered as the back bone of any collaborative process- be it software development, construction or nation building
1.Avoid Needless Complexity: Simple solutions are preferred to complex ones, when possible. Simpler features are easier for user agents to implement, more likely to be interoperable, and easier for authors to understand.
2. Support Existing Content: This principle applies primarily to the supported language. Content relying on existing browser behaviour can take many forms. It may rely on elements, attributes or APIs that are part of earlier HTML specifications, but not part of HTML 5, or on features that are entirely proprietary
3. Degrade Gracefully: This applies primarily to the conforming language.HTML 5 document conformance requirements should be designed so that Web content can degrade gracefully in older or less capable user agents, even when making use of new elements, attributes, APIs and content models. The operative word is “Gracefully”.
4. Do not Reinvent the Wheel: This is one among the principles which takes care of the fact that old traditions do not disappear.
If there is already a widely used and implemented technology covering particular use cases, specify that technology in preference to inventing something new for the same purpose.
Example : “contenteditable=” was already used and implemented by user agents. No need to invent a new feature.
5. Pave the Cowpaths: This principle substantiate the importance of old traditions and means, essentially look for the paths already formed, adapt it rather than forbidding it.
Example : Authors already use the <br/> syntax as opposed to <br> in HTML and there is no harm done by allowing that to be used.
Another good example of paving the cowpaths are the new semantic elements in HTML5.
6. Solve Real Problems: Changes to the spec should solve actual real-world problems. Abstract architectures that don’t address an existing need are less favoured than pragmatic solutions to problems that web content faces today. For example, many people have the requirement to embed multiple paragraphs such as <p> and <h2> into a single <a>.
7. Priority Of Constituencies:
In case of conflict, consider the following priority: users > authors > implementers > specifiers > theoretical purity. Users and developers are far more important than specifications and theories. Design for the 80%and Privilege the content creator.
8. Secure by Design: Always address security considerations directly in the specification and Ensure that features work with the security model of the web
9. Accessibility: Access by everyone regardless of ability is essential. This does not mean that features should be omitted entirely if not all users can make full use of them, but alternate mechanisms should be provided.
Example: The image in an img may not be visible to blind users, but that is a reason to provide alternate text, not to leave out images.
10. Separation of Concerns: HTML should separation of content and presentation. Profound and detailed semantic encoding is not necessary if the end can be reached otherwise. Defining reasonable default presentation for the different media may be sufficient. HTML strikes a balance between semantic expressiveness and practical usefulness.
These pointers have been taken from WC3 working draft and suggest to go through the design of HTML 5 by Jeremy Keith.