HTML has been the running punchline in the web development community lately. “It’s not actually code,” and, “what? Are you stuck in the 90’s?” are the usual jokes. Heck, it even made the latest Godzilla vs Kong movie, where it was joked about how old it actually is (seriously, near the end of the movie). And sure, HTML is the foundation of all web content, so people think that it’s old, but it is still an absolutely necessary skill to create accessible web content.
Believe it or not, there are some web developers that don’t even know that a <button> gives you all the accessibility needed out of the box. Or that other tags such as <nav>, <header>, <footer> give you semantic landmarks on your page. Not only does Semantic HTML describe the functional purpose of your content, but it also defines a proper document structure for the DOM. Semantic HTML comes with built-in accessibility, making assistive technology use easier.
Think about that for a second. These fundamental items of HTML are not even known to a pure web developer. Instead, most examples out on the web are <div> on <div> on <div> with some ARIA sprinkled in (at best)– which is why there is a 25% increase in ARIA use over the last year! What’s even worse is that most developers improperly use ARIA and make content even more inaccessible. Source: https://webaim.org/projects/million/#aria
The big question with all this is, how did we get here? What happened to knowing the foundations of the web first and foremost over knowing the latest framework or flashy language? Below, I’ll describe a couple of reasons why web developers are forgetting HTML, and also what we can do to recover that lost knowledge in order to build more effective and accessible websites.
HTML is the “old” web
Prioritization of Training/Learning
So what does a good developer do? They go out and find materials to learn and dive right in! What is majorly lacking in these materials, however, is the basic fundamentals of the web, and that includes HTML.
Now, before I get everyone all riled up: yes, there are plenty of training guides, courses, and even API documentation (React, Angular, Vue) for the frameworks that mention HTML and accessibility. If you want a great example, take a look at EmberJS documentation on accessibility and HTML. It is a step-by-step guide, and it is fantastic!
But unfortunately, it is still not enough. If you look at an average course on major learning sites, most have a call-out to an article or an “optional” training piece that tells you to look at this portion ‘really quick’ to understand HTML. That simply is not enough for a developer who is new to web development or maybe upskilling from a different development language to sufficiently learn HTML. And, even those that do have great content on HTML, the developers may gloss over it simply because they want to get to “the good stuff” and what they need to get the skills up.
Anybody can code HTML
The final piece of the puzzle that builds on top of all 3 the reasons listed above, is that anybody can build HTML and be a web developer. A perfect example of this I once saw on a chat board: Person 1 asks, “How well do you know HTML or web development in general?” Person 2 replies, “I know React.” Think about that reply– someone who isn’t familiar with web development was put into a position to learn React, but doesn’t even know that HTML is a part of React!
As wild as this sounds, this is something I see far too often. There aren’t enough developers to fill web development roles, and so the prevailing mindset is that web development is “easy” and “anybody can do it.” Now, the person developing has no true knowledge of web development, and what do they do? Go through the whole cycle above and try to get up to speed as quickly as possible, which in turn leaves the basics of HTML and accessibility in the dust!
What can we do?
HTML is the fundamental language of the web, and it will be forever no matter how many different frameworks or tech stacks try to change the way in which we develop it. Whenever this topic comes up to folks I work with, the first thing that they ask is “What can we do?” The solution is not a simple answer, but there are some things you can do to try to get well-rounded web developers.
- Take 10 minutes a day to train yourself or the development team in semantic HTML.
- Make code reviews of rendered HTML prioritize semantic HTML.
- Find training or courses that require HTML and web fundamentals before the in’s and out’s of the framework.
- Prioritize accessibility in the build process, as this can lead to more use of semantic HTML
- Use a tool like the free axe DevTools Browser Extension when developing your content, which includes free Deque University help links that will guide you through proper semantic use.