Www.dwt.com | www.ssbbartgroup.com Mobile Accessibility Development Making an Accessible App Usable Scott McCormack.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Module: 201 Create and Manage Your Agent Account.
310KM M-Commerce Application Selection of Mobile Platform Group 4 Choy Chun Lung, Lawrence Hui Yiu Ting, Eddy Chan Ki Yin, CKY Liu Tsz Ping, Scott.
Mobile Access: BYOD Trends SCOTT DUMORE - DIRECTOR, TECHNOLOGY, CHANNELS & ALLIANCES AUTONOMY, HP SOFTWARE.
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica User interface Updated: December 2014.
P5, M1, D1.
Cross-platform accessibility fundamentals for testers 1 BCS SIGIST Winter 2014 conference 4 December 2014 Jon Gibbins © Jon Gibbins.
Accessible Technology for People with Disabilities Eve Andersson Manager, Accessibility Engineering From Exclusion to Empowerment UNESCO International.
1 GP Confidential © GlobalPlatform’s Value Proposition for Mobile Point of Sale (mPOS)
® Copyright 2008 Adobe Systems Incorporated. All rights reserved. ADOBE® ACCESSIBILITY AT Access to Flash and PDF Matt May 25 Mar 2010 Featuring.
Sagecrm.com/7.2 Introducing Sage CRM 7.2 Mark Green Business Consultant Pinnacle.
Tailoring Needs Chapter 3. Contents This presentation covers the following: – Design considerations for tailored data-entry screens – Design considerations.
© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Web & Mobile App Accessibility with Adobe Tools Kiran Kaja | Accessibility.
SNOUT: One-Handed use of Capacitive Touch Devices Adam Zarek, Daniel Wigdor, Karan Singh University of Toronto.
Graffiti Reporting A partnership of Local and State Government; My Local Services App enhancements.
1 CS 106, Winter 2009 Class 4, Section 4 Slides by: Dr. Cynthia A. Brown, Instructor section 4: Dr. Herbert G. Mayer,
Ch 7 & 8 Interaction Styles page 1 CS 368 Designing the Interaction Interaction Design The look and feel (appearance and behavior) of interaction objects.
Graphical User Interface (GUI) Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
User interface design Designing effective interfaces for software systems Objectives To suggest some general design principles for user interface design.
Norman Online Backup All your files Always available.
Section 508 and NASA Section 508 and NASA Session 4: Software Applications and Operating Systems Presentation to Ames Research Center November 2011 Antonio.
ARIA + HTML5 Steve Faulkner & Hans Hillen. DIVING IN TO SOME HTML5 Details/summary Dialog Spin button slider ARIA rules HTML/ARIA validation Tools.
Sage CRM Developers Course
WEBINAR SERIES: ACCESSIBLE INTERACTIVE DOCUMENTS Week 3: Accessible Web Forms Norman Coombs
BAB 2 BASIC OPERATING SYSTEM CONCEPT MANAGEMENT. User interface – –a program that controls a display for the user (usually on a computer monitor) and.
© 2012-Robert G Parker May 24, 2012 Page: 1 © 2012-Robert G Parker May 24, 2012 Page: 1 © 2012-Robert G Parker May 24, 2012 Page: 1 © 2012-Robert G Parker.
Redefining Disability Mobile Accessibility Testing By Priti Rohra Head Accessibility Testing BarrierBreak Technologies.
Systems Analysis and Design in a Changing World, 6th Edition
1 Web Accessibility Recognition Scheme 2015 How to Meet the Accreditation Criteria (Mobile App Stream) Office of the Government Chief Information Officer.
Tipps on accessibility in apps Making your web apps accessible for Firefox OS and others.
14 Chapter 11: Designing the User Interface. 14 Systems Analysis and Design in a Changing World, 3rd Edition 2 Identifying and Classifying Inputs and.
M.A.Doman Short video intro Model for enabling the delivery of computing as a SERVICE.
Unified Communications LITN Spring  A set of products that provides a consistent, unified user interface and user experience across multiple devices.
Accessibility IS 101Y/CMSC 101Y November 19, 2013 Carolyn Seaman University of Maryland Baltimore County.
Software Architecture
INFO 355Week #71 Systems Analysis II User and system interface design INFO 355 Glenn Booker.
Introduction to Software Development. Systems Life Cycle Analysis  Collect and examine data  Analyze current system and data flow Design  Plan your.
Assistive Technology November 14, Screen Reader Who uses screen readers? –People with little to no vision What is it? –A form of “Assistive Technology”
Dive into Mobile Guidelines for Testing Native, Hybrid, and Web Apps Susan Hewitt, Accessibility Consultant, Deque Systems Jeanine Lineback, Accessibility.
Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain.
USER INTERFACE DESIGN (UID). Introduction & Overview The interface is the way to communicate with a product Everything we interact with an interface Eg.
1 KaaShiv InfoTech  Presents  INTEL XDK For Inplant Training / Internship, please download the "Inplant training registration form" from our website.
ARIA Support on Mobile Browsers Jonathan Avila Chief Accessibility Officer, SSB BART Group.
Ex Libris Developers Network Develop. Experiment. Collaborate.
Power Guru: Implementing Smart Power Management on the Android Platform Written by Raef Mchaymech.
THE WINDOWS OPERATING SYSTEM Computer Basics 1.2.
Information Systems Design and Development Technical Implications (Software) Computing Science.
| | (800) Software: The Forgotten Accessibility Standards Elizabeth Simister Accessibility Consultant.
Efficient Mobile Accessibility Testing with AMP ® for Mobile Bill Curtis-Davidson Sr. Director, Policy & Program Services.
Braille Implementation on iOS Devices Judith M. Dixon, Ph.D. Immediate Past Chair Braille Authority of North America Consumer Relations Officer, Acting.
Freedom Scientific Confidential Proprietary Accessibility Training Modules From Freedom Scientific 1.
| | (800) Fantasy Football Trends and Accessibility Issues Erica Zelmanowicz Accessibility Analyst/Training.
PartII. Key M&E requirements:  Specification of information requirements  What exactly do the decision makers want to know about the project?  For.
Database Fundamentals – Part 1
Brian Atzori 4B 2015/2016.
Testing Native Mobile Apps
Beginning of Xamarin for iOS development
Accessibility & Accommodations in Computer-based Testing: Coming to (common) terms with the assistive technology and standards world Mark Hakkinen,
Session ID#: JDE This is a subtitle for the presentation Prepared by:
Basic Controls and Plugins
Strategy for Native Mobile App Testing Methodology iOS vs Android
Introduction to Computers
Swipe to Donate Life.
Successful Website Accessibility Testing
GRAPHICAL USER INTERFACE
ALIO ARCHIVE ANDREW DANIEL.
DIGITAL ACCESSIBILITY OVERVIEW
This presentation document has been prepared by Vault Intelligence Limited (“Vault") and is intended for off line demonstration, presentation and educational.
WebAIM Screen Reader Survey Results
Presentation transcript:

| Mobile Accessibility Development Making an Accessible App Usable Scott McCormack

Agenda Mobile Accessibility –How is Mobile Different? –Accessibility APIs –Universal Approach –INPUT and OUTPUT –Standard Controls vs. Custom Controls –iOS vs. Android Sign Here App Demo Q&A

How is Mobile Different from Desktop Platforms? Mobile security model limits global access to the device Applications are isolated and are severely limited in their ability to communicate with each other Devices have limited memory and CPU resources Developers limited to official APIs Traditional input methods (keyboard/mouse) have been mostly replaced with touch or voice input. –Input methods may vary between devices even within the same platform

Accessibility APIs Are It! Accessibility APIs provide a method of universal access to applications while preserving mobile security model Assistive technologies (ATs) must use Accessibility APIs to communicate with the OS and access all applications Applications must use the Accessibility API to provide information to assistive technologies Standard controls provide basic Accessibility API support Custom control must leverage the Accessibility API to be made accessible –Correct implementation of the Accessibility API is key – one mistake and your control will be inaccessible or will crash the application or Assistive Technology!

Universal Approach Developers are not going to be familiar with the needs of all (or perhaps any) disabilities When thinking about accessibility consider both the INPUT and OUTPUT of the control –INPUT – What data or interaction the control expects from the user –OUTPUT – What data the control conveys back to the user via the user interface Different disabilities will affect the users’ ability to provide INPUT to the control or perceive the OUTPUT so developers must always consider BOTH when making controls accessible

Accessible INs and OUTs Input (WCAG 2.0 Prn. 1 & 3) –Touch Gestures altered to provide control of AT Touch Alternatives –Switch controls Custom gestures must be accessible too! –Data Entry (Keyboards) Support standard data entry methods Input & Control must be fully accessible no matter the AT or input method used Output (WCAG 2.0 Prn. 2) –Name Concise labels If it matters, label it –Role What is it – Button, Text Field etc. Provided by all standard controls –State Provided for standard controls that have a state –Value Values change, labels do not Custom controls need Name, Role, and possibly State defined.

Standard VS. Custom Controls Standard Controls –Provide out of the box accessibility support –In most cases, only an accessible label is needed –Complex controls require more work from the developer but all the basics will be provided Custom Controls –May not provide ANY accessibility support –Extending standard controls may require significant changes to make inherited accessibility support work correctly –Developer is solely responsible for the resulting accessibility level of the custom control

iOS vs. Android iOS Accessibility provided since iOS 3 (2009) – directly inherited from Mac OS X Apple develops and provides all system-wide AT software. Third party hardware such as Braille displays and switch controls are supported Mature Accessibility API tightly integrated with included ATs, providing support for standard input and output methods Standard controls need little to no work by developers to provide accessibility Providing accessibility to custom controls is well documented and typically requires only a modest development effort Majority of user base is up to date so new features are useable.

iOS vs. Android (cont.) Android Accessibility provided since Android 1.6 (2009) –Proper input control (explore by touch) not introduced until Android 4 (2011) AT applications (Accessibility Services) can be developed by third parties Standard AT applications include: –TalkBack (Screen Reader) –BrailleBack (Braille Display) Accessibility API is basic: –Gesture control must be coded manually by app developers especially if controls need more than a simple tap gesture –Developer is limited to minimum API app is set to support.

Sign Here DEMO The Problem: –Provide an accessible interface where a user can digitally sign using a finger and the touch screen. Assume we must capture a live signature and no substitute is available or acceptable. Accessibility Issues to Address: –Assistive Technologies take over the touch screen interfering with normal gesture input –Signature box is a custom control which provides no accessible output –User input must be accessible in real time to the user so the user can verify the presence of a signature and know that a signature is being captured

Sign Here SOLUTIONS – Middle Box Make signature box visible to Assistive Technologies and provide a basic label: –iOS: set isAccessibilityElement to YES and set an accessibilityLabel –Android: provide a label by setting contentDescription This is the level of effort required to make most standard controls fully accessible – Just label it and the API will take care of the rest!

Sign Here SOLUTIONS – Lower Box Make it possible for the user to draw while Assistive Technologies are active and using the touch screen –iOS: Apply the Accessibility Trait UIAccessibilityTraitAllowsDirectInteraction –Android: Modify gesture capture to listen for onHoverEvent in addition to onTouchEvent – consuming hover events break accessibility focus Provide an indication if the signature box contains a signature or is empty –iOS: Apply an AccessibilityValue indicating if the box is empty or has a signature and update at the appropriate times –Android: Include the state of the signature box in the ContentDescription and update at the appropriate times

Sign Here SOLUTIONS – Lower Box (cont.) BONUS!!! Provide accessible confirmation that the user is drawing in the signature box –iOS: When drawing begins and ends post an UIAccessibilityAnnouncementNotification –Android: When drawing begins use announceForAccessibility – we are not announcing when drawing ends due to many false announcements

Questions?

Thank You Contact Us Scott McCormack Principal Technical Consultant SSB Contact Information (800) Follow Us LinkedIn group Facebook Blog