WebAIM - Web Accessibility In Mind

E-mail List Archives

Re: Encouraging wider use of semantic HTML

for

From: Brandon Keith Biggs
Date: Oct 9, 2018 2:08PM


Hello,

Yes, I hear this all the time. "Semantic widgets are too hard to
customize", "Semantic widgets don't look good", "semantic widgets are too
complex", "semantic widgets don't do anything".

I think the foundation of the problem is HTML. HTML has not kept up with
how users are creating web interfaces. Developers want an HTML-like
language (see React and JSX), but the existing widgets (like tables,
datalist, and video), are just not enough.

HTML widgets need to be everything in the Aria documentation. If I want a
tab list, I should be able to type:

<tab label="bla">content</tab>

And have it be a tab. I should also be able to customize the text to be
however I want it.

This is what React has done with HTML interfaces. The problem is we now
have each company reimplementing these basic widgets in all different ways
and with Aria being so complex, 99% of the implementations of these widgets
are terrible.

Sorry to say, but HTML at the moment is more work than it is worth for most
sighted users. It's easier to customize a div to look how you want it. Most
uses of HTML are not correct either.

It's like telling someone to use Styles in Word. Yes, it's more scalable,
yes it will make your life easier in the long-run if you need to make lots
of changes, but it's easier and (apparently) looks identical if you don't
use Styles and just bold.

So I think React and other frameworks have completely replaced HTML and
developers don't see how learning old markup is going to change their site.

Until HTML catches up with what React has done, no one will want to use
HTML unless there is a good reason to (like accessibility, or they find it
makes their work faster in the long-run).



The Idea React has presented is both the best thing that has happened for
accessibility and the worst. If HTML had the Aria widgets prebuilt, then
usage would be identical to how React widgets work and they would be
accessible. With the current implementation, most widgets don't use Aria
correctly and accessibility is terrible.

Thanks,


Brandon Keith Biggs <http://brandonkeithbiggs.com/>;


On Tue, Oct 9, 2018 at 12:26 PM Jeff Gutsell < <EMAIL REMOVED> > wrote:

> I want to share an interesting conversation that I had last week with a Web
> developer. I mentioned to him that I was using semantic elements in my
> pages. He responded that he thought this is a lot of trouble for very
> little gain, which was the response I had expected.
>
> I told him that these are huge aids to screen reader users, of course. But
> I
> also said I think there are selfish reasons a developer should use them.
> They make code a lot easier to read in large, complex projects. They can be
> a big boost in searching through code when you don't know exactly what you
> are looking for. For example, searching for "<nav" " is easier, sometimes,
> than recalling an ID to search for. Searching for "</article" can be an
> easy way to jump to the end of some content.
>
> I think it can be easier to read and decipher the code by another developer
> when I am it has semantic elements that offer more standard meanings than
> obscurely named IDs and classes.
>
>
>
> This guy was quite interested in my explanation, and I think he might just
> start using the elements.
>
> Has anyone else had any experience like this?
>
>
>
> ____________________
>
> Jeff
>
> iPhone: (513) 235-7460
>
> <EMAIL REMOVED>
>
>
>
> > > > >