Google Access Engineering Improving Access To Web Platforms, Content, and Applications at Google Jonas Klink (klink@google.com) Accessibility Product Manager / Software Engineer --- Slide: Who am I? PM/SWE, part of a Dev team dedicated to Access Engineering With Google for the past 4 years Education MS in Computer Science (Chalmers Uni. of Tech., Sweden) PhD work in Computer Science (University of Washington, Seattle) Research on Education and Technology for the visually impaired Project work includes: Client-side: Toolbar, Desktop Search, Chrome Web Apps: Gmail, Apps, Blogger, Maps, Transit, … --- Slide: What is Google Access Engineering? Information access is at the core of Google's mission To make the world's information universally accessible and useful Adapting to the information channels that your user can most effectively use   Access involves understanding two key issues: How differently abled users and/or different setups access information How developers enable apps to function with assistive technologies and settings Visit google.com/accessibility for resources and feedback! --- Slide: Why? Users! --- Outline The Web as a Platform Mobile: Android Accessibility in the Cloud  Q & A --- Slide: The Web as a Platform Platform layers are changing: Low-level support framework (TTS, fonts, themes) JavaScript APIs Web Applications (GWS, Gmail, Docs) Graceful Degradation vs. Progressive Enhancement The Web has the distributed data: Universal Access Engineering makes it available through any channel Personalization and user goals are key: Every level in the stack is customizable APIs provides the muscle Focus on workflows, rather than UI components User is less dependent on the applications --- Slide: Example: Google Reader Access Extremely keyboard friendly: Access keyboard shortcut through '?' or Reader Help Center Navigate items with 'j' and 'k' Keyboard bindings available for starring, sharing, commenting, etc Delivers screen reader augmentation: Follow link 'click here for ARIA enhanced Google Reader' Screen reader support in ARIA-enabled browsers Applies magnification lens for low-vision users: Follows keyboard navigation  Provides customization through '-' and '=' Zero impact on latency! --- Slide: Eyes-Free Navigation on Android Built on Open Source TTS library (in production) Alternative eyes-free Home screen Configurable to replace default Home screen Home is where finger first touches Configurable shortcuts laid out in square pattern around Home Includes quick access to Signal, Time, Battery, Location, Search, Applications, Voicemail & Shortcuts Feedback through haptic and speech channels --- Slide: Eyes-Free: Talking Dialer on Android Built on Open Source TTS library (in production) Eyes-free dialing on touch screen possible Keypad number 5 always located at center of square Numbers 1-9 laid out around number 5 (0 located past 8) Dialing made possible by gesturing in desired direction, while maintaining touch Feedback through haptic and speech channels --- Slide: Non-visual feedback through TalkBack Available under Settings-»Accessibility TalkBack: Relying on API available in Android 1.6+ SDK (Donut) Standard UI elements produce spoken feedback during interaction Free voices available for en, fr, it, de & es KickBack: Producing haptic feedback SoundBack: Producing non-spoken auditory feedback Instructions available on YouTube EyesFree channel --- Slide: Accessibility APIs on Android Developers: customize your Access experience! Open Source development APIs android.accessibilityservice.AccessibilityService: Accessibility service runs in the background and receives callbacks by the system when AccessibilityEvents are fired. android.accessibilityservice.AccessibilityServiceInfo: Describes an AccessibilityService, e.g. what feedback type is generated: audible (but not spoken), spoken, haptic or visual. android.view.accessibility.AccessibilityEvent: Represents accessibility events that are sent by the system when something notable happens in the UI. --- Chromium Access Based on Open Source WebKit: Open development and standards compliance Multi-process and sandboxed Minimal UI - browser fading into the background Access work in progress: Keyboard navigation Developing screen reader support & WAI-ARIA Full page zoom High Contrast Support (through Extensions) --- Slide: Extended Access through Extensions URL: chrome.google.com/extensions Light-weight and easy to author (HTML/CSS/JS): Anyone can create! Open Source and extensible: Anyone can make it his/her own! Secure (multi-process), fast (v8) and powerful: We’ve got your back! Overlay putting desired information and behavior at your fingertips: Information the way YOU want it! Quick navigation, page re-styling & re-structuring, etc --- Slide: AxsJAX Keyboard navigation in <30 mins!: Open Source Can be applied to any page Overlay can provide additional keyboard navigation Any DOM node can be spoken Design for overlays - content in DOM access-friendly Lens effect DOM-node level magnification Available for many Google products: GWS, Gmail, Calendar Reader, Scholar, Books   URL: http://code.google.com/p/google-axsjax/wiki/Showcase --- Slide: Captions Talk:Video Captioning at Google and YouTube: Friday, Mar 26th, 4:20pm in Del Mar AB Largest online repository of captioned video Auto-captions & auto-timing Benefits all users!: Improved indexing and in-video navigation Access for non-native speakers Multiple tracks & languages Real-time translation --- Slide: Conclusion Collaboration and openness benefit everyone Customization is key Configure once, work everywhere Focus on workflows rather than widgets Develop solutions with little or no latency impact --- Slide: Thank you for coming! ? Q & A google.com/accessibility ---