Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.


If you're that worried "<p> hold shift to select more than one item.</p>" isn't a whole lot extra to add and is something most people can handle.


You think people actually read what's on the screen...?

Never done tech support I take it!


So how do you expect them to use your product if you strawmen them as people incapable of reading?


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.


>. And if I'm only planning to be on it for 30s, I'm not going to learn that.

It's a standard UI control and it is used pretty often.


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.

Or you could just use a better control.


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.


[flagged]


A good designer designs for reality, not their ideal head canon of how people /should/ behave.


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.


Probably wouldn’t be a great fit for touch or screen reader interfaces, though.


Touch screen OSes usually have their own implementations.


Which frankly is the best argument FOR using the built-in multiple select, since the custom widgets often fail on touch.


Some users don't know what key "shift" refers to.


"* Command-key on MacOS that's the one that that has a ⌘ on it btw"

"‡ On a phone or tablet or whatever, ignore us, we're just confusing you."


How do I do it on my phone or tablet?


> It's been simple and predictable and easily learned for decades, calling it "borderline unusable" is just hyperbole.

And it's also completely not discoverable. I only know how it works when I read from HTML book back in the day.

Just because it was the standard doesn't mean it's easily learned.


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.


An order of magnitude more users are more familiar with iOS and Android than Mac System paradigms from 80s.


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.


> Anything that requires combining a click with the shift and ctrl/cmd keys is not going to go down well with the average user.

These users need to retake the computer literate 101 class.

When I'm in elementary school, we learned how to multi-select in the tutorial system that comes with Windows 3.1.

I don't know why Windows XP deleted these very important tutorials and replaced them with a webpage.


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.

1: https://www.youtube.com/watch?v=CUkMCQR4TpY


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.

More built-in widgets would be great though.


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.

https://design-system.service.gov.uk/


Australia just cancelled our equivalent :(

It’s been open-sourced and forked here if people would like to help keep it alive:

https://designsystemau.org/


You guys are the best people. I can't express the depth of respect for you and the work you're doing.


I don't want to take credit for the work the Design System team does (they're awesome and supremely dedicated), I stand on their shoulders.


The US has one as well. Similarly, it has a key focus on accessibility.

https://designsystem.digital.gov/


Well that is what html should be used for.

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.


> a11y

...which the text-to-speech reader probably pronounces as "ay eleven why".


That's how I pronounce it in my head, too, but I still know what it means. All is well here.


It's an abbreviation for accessibility (because there's 11 letters between 'a' and 'y' in the word.)

Similar to i18n and l10n for internationalisation and localisation.

Interestingly unlike w3c, so it's not standing for aaaaaaaaaaay :)


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?


It's like a name drop. Saying "a11y" instead of "accessibility" let's other people know what you're familiar with the industry jargon.


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.

Agree with you re: screenreaders.


Just tested with MacOS's VoiceOver utility. Yup, it's "ay eleven why"


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?


Isn't that the whole point of ARIA roles? To enable you to create custom controls and interactions while marking them up for accessibility?




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

Search: