HTML and CSS Reference
A large discord had developed between browser vendors on the one hand, and the teams
developing technical specifications on the other. This made no sense, since the technical
specifications only had value if they were adopted by browser vendors. HTML5 has radic-
ally reversed this situation with a heavy dose of pragmatism.
As mentioned above, a large part of the HTML5 specification details how browsers should
handle markup that would previously have been considered invalid. This is why Chrome
could generate a Document Object Model from the “hello world” example. It is also why
Firefox would generate exactly the same Document Object Model.
Despite the fact that the example above works, the following is probably the most appro-
priate skeleton to use when developing HTML5 compliant documents:
I will explain the meaning of each section below, but before that we will add some content
to the tasks.html document to make a start with the sample web application.
Throughout this topic we are going to develop a task list application. The task list will in-
clude the following functionality:
• Users can create new tasks: this includes due dates and task categories.
• Users can edit tasks.
• Users can delete tasks.
• Users can view their task list.
• Overdue tasks are highlighted to users.
• Users can set tasks to complete.
Although this may seem a relatively simple web application, it contains enough complexity
to show the important features of each language, but not so much complexity that the topic
becomes repetitive or focused on requirements.