In the old days of the World Wide Web, a web page was just a static document marked up with HyperText Markup Language (HTML) so you could link to another static HTML document. A lot has changed over the years.

HTML5 introduced a powerful set of new features which can be used by modern browsers to provide a much richer experience than was previously possible, without employing complex Javascript libraries and browser feature detection scripts.

The new <video> and <audio> tags tell the browser to render a media player with fully functional playback controls using just one line of code.

The <canvas> element can be used to render complex vector images programmatically on the fly. This is great for charting real-time or dynamic data in your application.

Many other tags, feature and attributes are available in HTML5, but my personal favorite is the "data" attribute. Data attributes "are intended to store custom data private to the page or application, for which there are no more appropriate attributes or elements." I like to use them as hooks and parameters for AJAX calls within a custom web application.

For example:

<button data-id="123" class="delete-item">Delete this item</button>


<button data-id="123" data-status="active" class="update-status">Activate this thing</button>

Clicking one of these buttons would trigger an AJAX call to delete the item or update its status to "active."

CSS3 introduced gradients, rounded corners, drop-shadows, and transparency; all of which was previously only possible with custom graphics.

CSS3 also introduced transitions and animations which were previously only possible with Javascript.

Contact me to inquire about how HTML5 and CSS3 can be integrated into your next web project.