Science Friday® is produced by the Science Friday Initiative, a 501(c)(3) nonprofit organization.
Science Friday® and SciFri® are registered service marks of Science Friday, Inc. Site design by Pentagram; engineering by Mediapolis.
![]() |
![]() |
Tweet |
The design of your buttonless, smooth smartphone is sleek, but is it user-friendly for all? For people living with disabilities, smartphones present both unique challenges and benefits. Certain features of iPhone’s iOS, like VoiceOver and Siri, for example, make it easier for users who are blind, have low vision, or have limited mobility, to use the device. But there are also a number of developers not only seeking to design apps that are accessible to a range of users, but to address specific concerns such as hearing loss and deafness. In fact, to commemorate the 25th anniversary of the Americans With Disabilities Act, AT&T and the Ability Lab at New York University partnered for the Connect Ability Challenge, a competition that called on software developers to create apps and devices to “improve the lives of people living with disabilities.” Xian Horn, who was a judge in the competition; Steven Aquino, a tech writer and iOS accessibility expert; and Anita Perr, an occupational therapist, discuss current and upcoming types of assistive technologies.
Here are several apps, a few of which are easy to use for people living with disabilities, and the majority of which are designed specifically for people living with disabilities:
|
EVAL ERROR: Entity: line 1: parser error : Space required after the Public Identifier ^ Entity: line 1: parser error : SystemLiteral " or ' expected ^ Entity: line 1: parser error : SYSTEM or PUBLIC, the URI is missing ^ Code: line 1: package tmpevalpackage; line 2: sub doEval { line 3: my($parent); line 4: line 5: if($LayoutManager::url_resolved_values{'SEGMENT.nickname'}) { line 6: $parent = $LayoutManager::url_resolved_values{'SEGMENT.nickname'}; line 7: } line 8: elsif($LayoutManager::url_resolved_values{'VIDEO.nickname'}) { line 9: $parent = $LayoutManager::url_resolved_values{'VIDEO.nickname'}; line 10: } line 11: elsif($LayoutManager::url_resolved_values{'DOCUMENT.nickname'}) { line 12: $parent = $LayoutManager::url_resolved_values{'DOCUMENT.nickname'} line 13: } line 14: line 15: if($parent) { line 16: my(@books) = &Database::SelectClause('BOOK',"parent = $parent"); line 17: if(!@books) { line 18: $parent = ''; line 19: } line 20: } line 21: line 22: if(!$parent) { line 23: my(@sel) = &Database::SelectClause('GLOBAL','record all ""'); line 24: if(@sel) { line 25: $parent = 'GLOBAL.' . $sel[0]; line 26: } line 27: $main::ENV{'reading_header'} = "FEATURED READING"; line 28: } line 29: line 30: = ''; line 31: line 32: if($parent) { line 33: my(@books) = &Database::SelectClause('BOOK',"parent = $parent"); line 34: 0 = 0; line 35: my $dots; line 36: foreach(@books) { line 37: my(%data); line 38: &Database::GetRow($_,'BOOK',\%data); line 39: my($status,$title,$author,$url,$image,$width,$height) = &SciFri::Schema::getAmazonItem($data{'isbn'}); line 40: if($data{'title'}) { line 41: $title = $data{'title'}; line 42: } line 43: if($data{'author'}) { line 44: $author = $data{'author'}; line 45: } line 46: if($status eq 'ok') { line 47: .= "<div class=\"box-2x1-item box-slide\" data-href=\"$url\">"; line 48: .= " <div class=\"box-2x1-item-photo\">"; line 49: .= " <div class=\"image-wrapper\" data-jsclass=\"imageWrapper\" data-align=\"right\">"; line 50: .= " <img src=\"$image\" data-width=\"$width\" data-height=\"$height\">"; line 51: .= " </div>"; line 52: .= " </div>"; line 53: .= " <h4>$title</h4>"; line 54: if($author) { line 55: .= " <p>by $author</p>"; line 56: } line 57: .= " <div class=\"box-2x1-more-button\"><a href=\"$url\"><img src=\"/images/v1/icon_text_more_white.png\" width=47 height=15 border=0></a></div>"; line 58: .= "</div>"; line 59: ++0; line 60: } line 61: } line 62: } line 63: if($parent eq "GLOBAL.1") { $main::ENV{'reading_header'} = "FEATURED READING"; } line 64: else { $main::ENV{'reading_header'} = "RELATED READING"; } line 65: }; line 66: &doEval(); line 67: 1;
Discussion