> Don’t forget that there is always someone new into the world of design and development. Hopefully this post steers others towards keeping HTML code semantic and clean.
Perhaps it's time to start linking to old A List Apart articles?
- Sensible Forms: A Form Usability Checklist https://alistapart.com/article/sensibleforms/
- High Accessibility Is Effective Search Engine Optimization https://alistapart.com/article/accessibilityseo/
- A Brief History of Markup https://alistapart.com/article/a-brief-history-of-markup/
But even from this year:
- Conversations with Robots: Voice, Smart Agents & the Case for Structured Content https://alistapart.com/article/conversations-with-robots/
Browsers don't care. You may not care either. But people with disabilities attempting to make sense of your website do, very much so.
There's absolutely no reason __not__ to use semantic HTML, and many reasons to do so.
That doesn't mean you can't write accessible web applications without semantic HTML, but it does mean you have to spend time adding the accessibility after the fact.
* Set the correct aria attributes and roles for assistive technologies.
* Make the correct elements focusable, and order the focus correctly between elements, and add a specific style when then element is in focus.
* Capture the focus when appropriate but still allow focus to the URL bar.
* Set the correct key event handlers for keyboard navigation, submit events and triggers, validation events, etc. for assistive technologies, etc.
* Be prepared to warn users that your site will not work without javascript or in reader modes or in text based browsers, as well as make your site somewhat inaccessible for bots and crawlers.
And I’m sure I’m forgetting something. Point is, it is possible, but really hard.
To get an illustration, one could browse WWW in such a browser (w3m, links, lynx, netsurf, etc), or even in FF with customizations, and/or browse web.archive.org (particularly websites from a decade or two ago) using a mainstream browser: basic HTML pages tend to be nice and accessible, while the ones using graphics, CSS (possibly optimized for 1024x768 or a similar resolution), and Flash/Java/JS/etc are usually a pain to get information from. I think most of the contemporary websites would produce a similar impression in another decade.
Another example where semantic markup matters is conversion into other formats.
Using semantic HTML also helps search engine crawlers and other automated software understand the structure of your pages.
More precisely, they render the same in common visual user agents.
It turns out the semantics can be distinct for other kinds of user agents. Accessibility is one context that matters. Intermediate UAs like search engines are another. Maybe voice browsing is going to take off with virtual assistants.