Accessible design helps everyone.
466 karma · joined March 24, 2012
[ my public key: https://keybase.io/tvararu; my proof: https://keybase.io/tvararu/sigs/jtl6VBrmo15IcT8bBNeKPwPuwMFmSvnnFgHOwd1VpUk ]
Accessible design helps everyone.
One thing that has worked for me is to “pay myself first.” [0]
If £4000 comes in and your monthly outgoings are around £2000, invest the remaining £2000 immediately. The main benefit this gets me is that it forces me to budget better and come up with other streams of income (usually eBaying stuff) in case I come up short.
[0] https://www.investopedia.com/terms/p/payyourselffirst.asp
You'd get so many air miles too!
https://camo.githubusercontent.com/b25f31e420c078114a2abee62...
More here: https://github.com/alphagov/accessibility-community-notes-an...
Hides all the red alerts and stressful messages from your favourite booking site"
https://www.chrome.google.com/webstore/detail/no-stress-book...
St. Thomas' in London (UK) has a gym for patients that need to do phisyotherapy exercises. I don't recall treadmills or squat racks, but they had medicine balls, free weights, instructors, music, and so on.
Though, it’s interesting to note that once when I took a date picker component and attempted to morph it into a full-blown MacOS calendar, with calendar appointments that slot into different time slots and don’t overlap, I found that that is an NP-Hard bin packing problem.
I wrote a checklist with some questions that can help you find potential issues with third party packages:
- [ ] Is the package licensed in a way you can use?
- [ ] Is the package's latest published version free of known security vulnerabilities? (can check with https://snyk.io/vuln/npm:moment)
- [ ] Is the package tested? (there need to be at least some unit tests)
- [ ] Is the package lightweight? (can check with https://bundlephobia.com/, this should be considered alongside the size of the problem being solved)
- [ ] Is the package dependant on no other packages? (0 dependencies = less to worry about)
- [ ] Is the package maintained? (activity in the last year, don't forget to check branches other than master)
- [ ] Is the package popular and widely used? (depended on by lots of other projects, number of stars on GitHub)
- [ ] Is the package well structured and easy to understand? (could you contribute and make changes to it quickly? you may have to!)
Once you do decide to adopt something, it's a good pattern to only import it in one place (like an internal `helper` library) and to reference that in every part of the codebase where it's needed. This is in case you decide to replace it in the future, so you only have to change one place.
I used JAWS and Windows IE11 as a specific example because that's a popular combination with screen reader users. If something works well in NVDA and FireFox on Linux it does not follow that it will work in other combinations, at least in my own testing with things I've worked on in the past. Though targeting the low hanging fruit to begin with is how I'd also start if I was building something for this in earnest, ideally I'd want to automate testing with all the popular combinations that I expect users to have.
I've given the CI deal a good amount of thought. You'd have to go through the trouble of:
- Provisioning a Windows VM with specific versions of browsers (e.g. IE11) and AT (e.g. JAWS 17, the versions differ quite significantly)
- Writing an automation suite that is capable of controlling the browser and AT (Selenium probably does fine), but crucially interpreting the feedback from the assistive tool to check for correctness. This is tremendously hard. Either using some debugging APIs if any exist in the various assistive tools, or reading memory / reverse engineering using IDA, or capturing the audio output to the sound card and running it through speech recognition to figure out if what was said by the screen reader is what you'd expect. With something like Dragon Dictate you'd have to figure out how to trigger voice commands.
- Expose the VM using an API that you can call from your test suite
- `expect(jawsOutput).toBe("Type in two or more characters for results.")`
That's a potentially tremendously profitable SaaS offering (to the right companies), if someone can build it.
[0]: https://accessibility.blog.gov.uk/2016/11/01/results-of-the-...
macOS and iOS computers have been issued patches to mitigate the issue on vulnerable networks.
Source: https://m.imore.com/krack-wpa2-wi-fi-exploit-already-fixed-i...
Also it is possible to call out a critical oversight in the design of a product while not shaming them for releasing it.
Source: somewhere in this video https://www.youtube.com/watch?v=E2MIpi8pIvY
iOS VoiceOver ranked as one of the 3 most popular screen readers, second to JAWS for Windows [1] (closed source, paid) and above NVDA for Windows [2] (closed source, free, donations encouraged).
ChromeVox [3] is AFAICT the only free and open source screen reader that came up in the survey, at 1%.
- [0] https://accessibility.blog.gov.uk/2016/11/01/results-of-the-...
- [1] https://www.nvaccess.org
- [2] http://www.freedomscientific.com/Products/Blindness/JAWS
- [3] http://www.chromevox.com