4 ms·
This may surprise you, but I am a totally blind iPhone user and have been for about 4 years. Before this, I owned a series of Nokia devices, the 6682, N95, etc.
by ctoth 12y ago
This may surprise you, but I am a totally blind iPhone user and have been for about 4 years. Before this, I owned a series of Nokia devices, the 6682, N95, etc.
Previously, on the s60 devices, we had to purchase a $350 screen reader to make the phone talk. Now, on any iPhone running iOS 4 or later, (so... all of them) I can press the home button 3 times, or just ask Siri to turn on VoiceOver, and I am instantly granted the same level of access to the device that my sighted colleagues expect. Apple is seriously amazing in terms of accessibility -- all of their built-in apps are 100% accessible, all controls labeled, all custom interaction elements given clear accessible descriptions/access tips.
Search on YouTube for blind people using the iPhone/iPad, I expect it will blow your mind.
Even more awesome than the iPhone's built-in accessibility is the fact that it's so easy for 3rd party developers to make their own apps accessible. All native controls are accessible by default, all you need do as a developer is add labels. For custom controls, such as chess boards, Apple provides an incredibly powerful accessibility API, allowing developers to enable access for anything.
I personally play Shredder Chess on the iPhone as the developer has explicitly enabled accessibility for it.
There are real blind people using these devices, and I hope you consider this the next time you are thinking about how accessibility fits/doesn't into your next project.
- 3rd3 12y agoExcuse my curiosity but I got to ask how you experience browsing Hacker News accessibility wise. Can you make out the tree-like ordering of the comments? Can you see that comments are light-grey when they have many downvotes?
- ctoth 12y agoCuriosity is *never something to be excused. It's to be celebrated. Anyway, HN is actually not all that great in terms of accessibility. The tree styling of the comments, and the marking of downvotes are both indicated visually and not semantically. It means that I will often have to use context to determine where one thread ends and another begins, or when comments pass my personal taste threshold I just whack page down a few times.
- dang 12y agoWe're working on changing HN's markup, and the new markup should allow us to address the concerns you mention here. We don't know yet when we'll release it, but then will be a good time for us to fix any of these issues that remain. (The look and feel of the site won't change, but more will be indicated semantically.)
- mwcampbell 12y agoI think the best way to represent comment threads with semantic HTML would be using the <ul> element. So the top-level comment thread for a post goes in a <ul> element, and then there's a nested <ul> element for each subthread. Of course, you can use CSS to drop the bullets and adjust the amount of indentation. Then, a screen reader or browser extension can easily provide a way to skip over whole subthreads, without having to do something HN-specific.
- valgaze 12y agoThat is absolutely amazing- thanks for sharing your story. I remember learning about an economist named Walter Oi. He was a Japanese-American who was put in an internment camp during WWII. He later wrote a famous econ paper called "A Disneyland Dilemma" about lump-sum payments to get into the amusement parks coupled with per-ride fees (also about how IBM priced computer time in the 70s): http://people.bath.ac.uk/ecsjgs/Teaching/Industrial%20Organisation/Papers/Oi%20-%20Disneyland%20(1971).pdf http://people.bath.ac.uk/ecsjgs/Teaching/Industrial%20Organi... He also was a big proponent after Vietnam of moving the United States military from the draft to an all-volunteer force. His research was instrumental in making that happen. Overall a very accomplished and impressive individual...Just for extra credit- he was blind. He did math, graphs, charts, and all the rest without being able to see it. I am in awe of people like yourself.
- gpmcadam 12y agoIt's amazing to hear all the stories of people with disabilities taking advantage of the iPhone's fantastic accessibility features. There really is no excuse for not putting in the extra effort to make these devices usable for everyone. This was a famous blog post about 4 years ago of a blind iPhone user's first experiences, it's a fantastic read: http://blog.austinseraphin.com/2010/06/12/my-first-week-with-the-iphone/ http://blog.austinseraphin.com/2010/06/12/my-first-week-with... Around the same time, I heard other stories of Apple devs who were forced to test the iPhone with physical restraints like boxing gloves and blindfolds to ensure they could do just about everything a fully able bodied person could. I can't find any related articles now, I wonder if anyone else could confirm or deny this?
- eric_bullington 12y agoWhat's your number one recommendation for mobile app developers in terms of enhancing (or not screwing up) accessibility? If you're feeling extra ambitious, I'd love to hear the same advice with respect to web apps. Has HTML5 made a big difference in terms of accessibility? Are there any obvious big wins for accessibility that most of us are missing? Thanks for your awesome comment!
- mwcampbell 12y agoFor native apps, my biggest single piece of advice is to use the platforms' native UI toolkits. Or use something that wraps those toolkits at a high level, like wxWidgets or Toga (http://pybee.org/toga/ http://pybee.org/toga/). Be careful with wxWidgets though; some of the widgets are custom, and which ones are native or custom varies by platform. Non-native toolkits, such as Qt or Kivy, can in principle be accessible, but it takes a lot of work to implement each platform's accessibility APIs, and the toolkits often don't get it quite right. This has been the case with Qt on Windows and Mac. And Qt has zero accessibility on iOS, Android, or for that matter, any platform besides Windows, Mac, and desktop Unix. As far as I can tell, Kivy doesn't have any accessibility either. As for rich web apps, the relevant standard for accessibility is called ARIA (http://www.w3.org/WAI/intro/aria http://www.w3.org/WAI/intro/aria). It seems to me, though, that robust, working implementations of ARIA are few and far between. The Dojo Toolkit and YUI Library are well-known for iimplementing ARIA across their widget sets. Of course, those aren't exactly the hot JavaScript libraries these days. jQuery UI also has some level of ARIA support. More recently, I've worked with WinJS (https://github.com/winjs/winjs https://github.com/winjs/winjs), and from what I've seen so far, it has pretty good ARIA suppport. I don't know what to tell you, though, if you want to use something more mainstream like Ember, Angular, or Backbone with a smattering of jQuery plugins. I'm afraid I don't have the expertise to offer good advice for developing accessible rich web apps.
- eric_bullington 12y agoThanks for your detailed response. The good news with ARIA is that the documentation for ultra-popular Bootstrap 3 includes ARIA support. That's one of the reasons I asked the HTML5 question. Also, reading your post inspired me to see what's out there for Bootstrap, and I found a very cool toolkit from Paypal[1] that makes Bootstrap's accessibility even better. Good point about non-native toolkits, although in this day and age using anything other than Qt is extremely painful unless you're targeting a single platform. As popular as Qt is, some association for visually impaired people should take that up as a challenge. I do seem to recall that Qt5 has made some major progress in terms of accessibility, and also that many of their official guides address the issue explicitly. 1. https://www.paypal-engineering.com/2014/01/28/bootstrap-accessibility-plugin-making-the-popular-web-development-framework-better/ https://www.paypal-engineering.com/2014/01/28/bootstrap-acce...