>The semantic structure of a document matters because that’s how machines, not humans, understand the web. A div with an onClick handler doesn’t look like a link or a button to a screen reader, search engine crawler, or accessibility extension, it looks like a div.<p>>Most importantly, semantic HTML is key for accessibility and other tools that let a user experience the web as they wish.<p>This! So much this! Web UIs like Flutter increasingly break the ability of extensions to make sites more usable.<p>But I read later and find the author is having a seemingly less degraded experience than I am with our favorite tool for browsing the web, Vimium:<p>>I use the browser extension Vimium to navigate the web, it’s an amazingly powerful tool that relies on, you guessed it, semantic HTML. Does it work on pages built with Flutter Web? Fuck no. It doesn’t work because it tries to find things that are semantically clickable, like button or a elements, of which, as we have established, Flutter Web generates none. Vimium works on almost all websites I use because most developers, thankfully, don’t just stick onClick handlers on divs.<p>I've found that <i>many</i> elements on the web don't get picked up by Vimium, even well outside the Flutter ecosystem. Heck, even HN search (via Algolia[1]), despite the minimalism, doesn't let Vimium detect the option dropdowns as clickable. (The Stories/Popular/All Time UIs.)<p>[1] <a href="https://hn.algolia.com/" rel="nofollow">https://hn.algolia.com/</a>