Hacker News new | past | comments | ask | show | jobs | submit login

> I feel like Bootstrap (and similar) are a lot "to blame" for some of these.

IMO, it's more about developers just using Bootstrap without reading the documentation. The examples are pretty well done, they use semantic elements and are accessible.

For example, the Navbar[1] element has a good HTML structure and uses `aria-label`s that announces what's going on to assistive technologies.

Another one is the modal example[2], it has semantic elements, the `tabindex="-1"` attribute to make it accessible to keyboards and the correct use of the `aria-label` as well.

So, their documentation pretty much teaches you how to use it correctly. I'm not a fan of Bootstrap myself, but I think throwing the blame at it is unfair.

[1] https://getbootstrap.com/docs/4.3/components/navbar/

[2] https://getbootstrap.com/docs/4.3/components/modal/

That shift happened in bootstrap 4, bootstrap 3 was <div class="..."> everywhere. Also 3 was when bootstap was really big.

Good to see they improved, i guess :-)

That shift happened in Bootstrap 3's lifetime. The 3.4.1 navbar markup [1] and 3.3.7 navbar markup [2] is very similar to 4.x, but most of the semantic stuff and ARIA stuff is missing in 2.3.2 [3].

(I probably paid a lot more attention in 3.x documentation than most because of the mistake in a past life of forking Bootstrap 3 for an enterprise project and trying to keep it in sync with upstream. Never again would I consider doing that.)

[1] https://getbootstrap.com/docs/3.4/components/#navbar

[2] https://getbootstrap.com/docs/3.3/components/#navbar

[3] https://getbootstrap.com/2.3.2/components.html#navbar

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact