May be risking a lot of downvotes, but I really want to work for somewhere that cares about a11y for very selfish reasons - I want to use semantic html and not have to do stupid shit like using a package that re-implements the select element with divs
It's a shame the UI elements built into HTML are so lacking, which I think is what ultimately drives people do things like this.
Look at <select multiple> for example—the browser built-in is borderline unusable. Anything that requires combining a click with the shift and ctrl/cmd keys is not going to go down well with the average user. Same goes for <select>s that need more advanced behaviour like filtering. There's <datalist>, but it's incredibly basic and pretty useless for most cases you'd want that sort of input.
The web is an app platform whether we like it or not, and I'd like to see a robust set of browser-native controls with mechanisms to customise styling and behaviour. It would improve accessibility, improve performance, reduce page sizes (because we wouldn't be re-implementing the whole world in JS), and it would at least go a little way to offsetting the slow erosion of quality desktop software that web technologies are bringing.
The browser select-multiple widget works like that because that's how it's worked in most desktop OSs since Macintosh System 1.0 in 1984 (at least). It's been simple and predictable and easily learned for decades, calling it "borderline unusable" is just hyperbole.
Now, if you wanted to say that HTML's standard widgets should be allowed to reflect the platform-native look-and-feel (for example, adding a "selected" checkbox on touch-screens, or supporting long-press to select items, or whatever) instead of being tied to Windows 95 appearance and behaviour by backwards-compatibility concerns, then yeah, I'd agree with that.
It's "borderline unusable" because the vast majority of people who use computers probably wouldn't know how to select more than one item. There are no affordances and virtually nothing uses it any more.
Even in the early desktop era when it was popular, many non-enthusiasts probably just didn't know how to use a UI control like that. It just didn't cause a problem because most people didn't use computers much.
I would bet that most internet users today have never even used a UI where that control is popular.
Because they’ll only read what they believe is essential to their goal. Small text below a form element does not scream “critical” it doesn’t get read. I’ve watched many users use websites: they only read what they think is important and skip everything else.
Not just naive users either. I am very computer literate and yet I find myself in situations where I've skipped that text and only find it when I go back.
It makes me think when I'm designing things. If I have problems with stuff like that, how can I make it better.
Really, if people read everything they'd never get anything done. They see dozens to hundreds of things marked visually as important that they'll do fine ignoring, every single day. Of course they often miss the one or two per day that they actually needed to read.
Then there's the way styles are so different, especially on the web. Horribly user-hostile. How does this site mark something as important, assuming it bothers in the first place? Who knows. And if I'm only planning to be on it for 30s, I'm not going to learn that.
I guarantee you fewer than 50% of people who use a desktop computer at least once a week know how to multi-select and range-select using shift and ctrl on them, though. That's why you need the text—which many will, for reasons that are actually pretty good, ignore.
It is standard but it is not used often. In fact, I can’t remember the last time I saw one used that want some ancient, intranet application built on Cold Fusion.
Many users don’t even know you can use a key shortcut to copy/paste.
No, we should stop dumbing down UIs to the lowest common denominator because that's how you get user-hostile software that treats users like sheep to be herded and monetised.
The less you encourage learning and self-improvement, the less it will happen.
You get user hostile software that treats people as sheep to be herded and monetised because of the capitalisation of software, not because designers are making their interfaces too easy to use.
Don't blame designers for that, blame VCs and Silicon Valley.
I agree that calling it borderline unusable, when it works great for power users on the desktop, is hyperbolic. Unfortunately for those power users, Digikey, one of the best electronics distributors and also one of the best examples on the web of parametric catalog search, recently disagreed, changing from the classic and highly functional control/shift + click to select multiple to a weird click and drag/click and repeat paradigm.
Those "Mac System paradigms from [the] 80s" are also the Windows paradigms from the 1980s to the 2020s. Still "an order of magnitude" more users more familiar with iOS and Android than that? I doubt it.
Android alone had 2.8 billion users in 2020, so I do not understand what kind of rationale can possible lead to think this is less than PC and Mac users.
Ah. So when I thought I was saying 2.8 billion isn't "an order of magnitude MORE" than the surely at least a billion people who've used Windows at some point in the last three and a half decades, I was actually saying "2.8 billion is less than at-least-a-billion"? Funny, that's not what I thought I was saying.
If you absolutely have to put words in my mouth, please make them at least a little less stupid ones. Maistuivat vähän paskalta.
> It's a shame the UI elements built into HTML are so lacking, which I think is what ultimately drives people do things like this.
I like to imagine that if browser makers had collaborated better on standardising CSS hooks into the default widgets, we would not have seen such strong adoption of tools like bootstrap. We possibly would have had a different pathway through template+controller libraries too.
As a FED, I didn’t help. I rode the gravy train along with Backbone, Angular and React. I wish I had fought harder and spoken more eloquently on the practicality of a11y-first semantic mark-up and progressive enhancement. I caved in to the demands of the agencies who took me on to get stuff done in the trendy stacks.
> Anything that requires combining a click with the shift and ctrl/cmd keys is not going to go down well with the average user.
Is there a reason the element has to be implemented that way? Correct me if I'm wrong, but aren't the details of how it works up to the browser? It only works that way because every OSs native select widget worked that way and once upon a time browsers actually tried to integrate well with the OS and used native widgets.
I suspect that one of the big reasons why native HTML widgets are not improved, is because everybody who needs something "fancy" (by web standards), just rolls their own.
> Anything that requires combining a click with the shift and ctrl/cmd keys is not going to go down well with the average user.
This is part of the problem. Your average user at temporal point X has difficulty combining mouse clicks with keyboard modifiers. You build interface around that notion and in a later temporal point Y your average user cannot combine those at all and you have lost input mode. Your average user has problem distinguishing single click from double click. You install debounce logic, train them there is no difference between the two and lose input mode.
The web is a shitty platform for apps, because currently it is supposed to be used from at least proper PC, touchable handheld device, embedded in controlling container and in relatively near future virtual environments. Game developers have tried for literally decades to bridge the gap between PCs and consoles and mostly failed at that with both platforms being relatively static. The web being a moving target is much more difficult to fit on different device classes. Yet we try to do that and as a result are moving to the lowest common denominator.
> Game developers have tried for literally decades to bridge the gap between PCs and consoles and mostly failed at that with both platforms being relatively static.
For grand strategy / RTS, yeah, that's kind of a function of the complexity. Most other game genres are fairly well defined in the expected control schemes on both platforms now though.
There are lots of people without your educational background. It's a few years old now, but I remember finding Alice Bartlett's talk on <select> box inaccessability [1] quite instructive.
This, rather than JavaScript would have been the way to extend the web into a more cross platform application domain. Now we have essentially a bitmapped graphics terminal where each and every entity re-invents the user interface in new, incompatible and broken ways.
> Anything that requires combining a click with the shift and ctrl/cmd keys is not going to go down well with the average user
This is how computers have worked since pretty much day 1, not just the web. I remember getting computing classes in school, but it seems the current generation is completely ignoring all of that and instead just plays on their phone.
And it's not just keyboard modifiers -- in middle school I remember having to explain double clicking. People eventually got used to it, then the web got popular, and I had to explain to users not to double click on web links but do click on desktop links. Even in this century I still occasionally see people using double click to navigate the web.
Could be argued that that was a mistake in the original specs for the Web. At the time, as I recall it, "double-click for action" was already a pretty well-entrenched standard on multiple platforms.
I work with the GOV.UK Design System and everything's geared towards making services accessible. Your government (or health service) might have their own.
I do freakishly experimental webdesign at times (like for designer portfolios, where freakishly experimental webdesign is kinda part of the thing), but for everything where it is much more about the info and the content I will bend over backwards to use semantic html (and even with those freakish sites I will try).
If you never looked at your website via lynx or used a screenreader I highly encourage it. It will give you a different perspective on things.
My point was that it's inaccessible: "accessibility", "internationalization" and "localization" are clear to everyone, but "a11y", "i18n" and "l10n" are not at all obvious even to native English speakers, and especially those using screen readers.
I've never understood why these shortenings are so common. Is it just to avoid the mental load of having to remember how to spell long words? Isn't the mental load of having to remember which number goes with which word worse?
Same reason people use contractions. It's faster and conveys equivalent meaning.
A11y is probably the easiest one to remember because it looks like ally. Which is what you're being by worrying about accessibility when you yourself don't rely on the standards.
You only have to remember two digits instead of the correct order of 10–18 letters. It’s probably also a lazy typist thing: four characters instead of 20.
My bad, I had read the parent quickly & thought they'd said "I still don't know what it means" rather than "I still know what it means" so just wanted to expand the jargon for the thread here.
Work for a government agency (in the US). We're required by law to meet accessibility standards, and at my workplace, we often do so through the path of least resistance – not using JavaScript to reimplement features that are already accessible and thereby take on the responsibility for implementing accessibility ourselves.
> not using JavaScript to reimplement features that are already accessible
Seriously, I've seen pages that create links by using a styled <span> tag with an onclick even that merely called a function that set document.location using a hard-coded value.
Did developers forget that `<a href=....>` exists?