Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Accessibility at large scale for Enterprise Software Architecture and Constraints Stefan Schnabel SAP User Experience – Accessibility Enterprise Software is different Different from … Simple ‚read-only‘ information web sites (news, weather) Ordinary web shops / hotel booking / flight booking Any other software that is just occasionally used Accessibility at large scale 100.000 + x screens / screen-flows Contains various technologies Bringing accessibility into the product needs to be time- and cost effective „Hand made“ accessibility does not work Centralized approach instead of „screen by screen“ optimization SAP AG 2006, Accessibility at large scale for Enterprise software / 2 Enterprise Software characteristics Typical usage scenarios Centrally hosted for an entire company to serve multiple locations worldwide Controlled / well defined client infrastructure Typical user groups Trained / subject matter experts Use the software up to 8h / day percentage of users that are challenged in vision or with motion disabilities is equal to „rest of the world“ SAP AG 2006, Accessibility at large scale for Enterprise software / 3 Focus of Enterprise Software Global usage requires that software complies with multiple standards (or reasonable subsets) at the same time Sec. 508 WCAG ISO 9241 National legislation or standards SAP‘s accessibility standard is „best of breed“, taking both branches of Sec. 508 into account „software“ and „web application“ and also WCAG 1.0 In addition, SAP‘s accessibility standard has „efficiency“ in mind SAP AG 2006, Accessibility at large scale for Enterprise software / 4 Pragmatic approach for accessibility Top 5 pillars (ordered, based on customer feedback) Software needs to be FULLY functional without usage of ANY pointing device (100% keyboard enabled) Users must be able to adjust color and contrast settings Alternatively, Software needs to acknowledge windows desktop settings (such as high contrast) Support of assistive technology Software needs to be compatible with at least one screen magnifier Software needs to be compatible with at least one screen reader Users must be able to scale the UI, e.g. to use larger fonts. Additional rules are set up to deal with orientation, consistency, meaningful texts etc. see later SAP AG 2006, Accessibility at large scale for Enterprise software / 5 SAP‘s NetWeaver architecture helps … Based on a service oriented architecture, application logic and user interface definition are separated „by design“ Rendering infrastructure / components are centralized and separated from the user interface definition ABAP applications are rendered using SAP GUI Portal / Web Dynpro applications are rendered using Browser or NetWeaver Business Client Application Logic ABAP JAVA SAP AG 2006, Accessibility at large scale for Enterprise software / 6 UI Definition UI Programming ABAP Dynpro Web Dynpro ABAP/Java BSP PDF Forms UI Rendering SAP GUI Browser NetWeaver Business Client Centralized approach / what to do where Application Logic UI Definition UI Programming Use semantic colors instead of hard-coded colors UI templates and generators for navigation and layout Provide meaningful information for labels, column headers and row headers Translate semantic colors into real colors (e.g. for traffic lights symbols, “critical” meanings and warnings) UI Rendering Keyboard enablement Acknowledge desktop settings for colors and contrast (*) Compatibility with screen reader / magnifier Scaling / Font selection Link fields and corresponding labels Do not misuse UI elements (*) hard-coded colors defined in application logic can not be overwritten by desktop settings Making use of the centralized capabilities of the UI Definition / Programming and Rendering, application developers can concentrate on limited set of rules and constraints SAP AG 2006, Accessibility at large scale for Enterprise software / 7 SAP concentrates on … Generic capabilities of UI rendering infrastructure Keyboard enablement Color/Contrast adjustment and scaling Compatibility with Assistive Technology UI / programming frameworks prevent application developers from „hard-coding“ user interfaces Check Tools on application level UI‘s that go beyond the capabilities of „plain vanilla“ HTML Introducing rich UI controls to W3C working groups Testing individual screens (after rendering) with „ready to run“ web tools does not make sense SAP AG 2006, Accessibility at large scale for Enterprise software / 8 What application developers have NOT to care of Provided by the SAP Frameworks / Architecture: Keyboard Navigation Micro-Navigation within elements Macro-Navigation between elements Skipping of complex elements Hotkeys and shortcuts Standard focus handling Visual Styles High contrast / custom styles Large fonts support Element Content, Identification and Usage Textual representation for screen readers Element and sub-element type and state info Tutor texts (usage) SAP AG 2006, Accessibility at large scale for Enterprise software / 9 What application developers NEED to care of generally Dos Associate labels with fields Use meaningful unabbreviated label texts for UI elements, element titles, captions, or free-standing text Use the tooltip property of a UI element to explain the semantic purpose of the UI element if necessary Fill tooltips of Input Fields and Combo boxes with label text if Label is omitted due to layout reasons Provide meaningful row and column headers for data tables Do provide an accessible alternative for maps, graphics and charts Provide one single solution for both disabled and non-disabled users Use a standardized way for arrangement of elements on your screens Don’ts Usage of non-accessible controls (e.g. self-developed controls) Abbreviations without explanations Hard-coding of colors (hardly possible at all) Misuse elements (Tables for layouting etc.) SAP AG 2006, Accessibility at large scale for Enterprise software / 10 Examples: Labels and Tooltips • Labels must be associated with input fields, checkboxes, and buttons - Every input/output field or combo must have a meaningful label to the left - Every checkbox or Radiobutton must have a meaningful label text • Every graphic/icon on the screen must have a meaningful tooltip SAP AG 2006, Accessibility at large scale for Enterprise software / 11 Examples: Tables, Tabstrips and Trees • Column and row headers must be provided in data tables • Tabstrips and Tabs have to contain descriptive text • Tree nodes and levels must be also descriptive SAP AG 2006, Accessibility at large scale for Enterprise software / 12 Additional Dos for ABAP Programming Dos Use label for all UI elements (e. g. dropdown lists, input fields, radio buttons, list boxes, checkboxes, and text areas) Use tooltip for icons, images Use ALV, Application Log, Dialog Transaction, or PDF Form instead of ABAP List Use for forms SAP Interactive Forms by Adobe Make navigation functional with keyboard Use title for complex elements (e. g. group boxes and tables etc.) Provide one single solution for both disabled and non-disabled users Don’ts Don’t use ABAP List Don’t use color as only means of conveying Information Don’t use Radiobutton, Checkboxes, Pushbuttons for unexpected screen changes Don’t use Smartforms and SAPScript SAP AG 2006, Accessibility at large scale for Enterprise software / 13 General Do for Standard HTML content writing Use W3C‘s WCAG guidelines !! W3C World Wide Web Consortium http://www.w3.org/ W3C Web Accessibility Initiative: Guidelines and Techniques http://www.w3.org/WAI/guid-tech.html SAP AG 2006, Accessibility at large scale for Enterprise software / 14 Additional Dos for Web Dynpro Java/ABAP Programming Associate Labels with UI Elements using labelFor property Fill accessibilityDescription property of elements when element title is skipped due to layout reasons Use labeled MeltingGroup or TransparentContainer for elements forming up a single line group To provide titles for elements forming a multi-line group in TransparentContainer elements, the UIElement SectionHeader should be used Use named colors wherever needed SAP AG 2006, Accessibility at large scale for Enterprise software / 15 SAP Interactive Forms by Adobe Dos Create tagged PDF using Adobe LiveCycle Designer Create forms which are easy to use Create tables by using table object of Adobe LiveCyle Designer Create text description for Images using Accessibility Palette Create well defined and logical reading order structure and use subforms if necessary Don’ts Don’t use scanned information without assigning text description using Accessibility Palette Don’t convey information by color only Don‘t use client-side scripts which affect screen reader and keyboard negatively (e. g. mouseEnter events) Don‘t use radio buttons and checkboxes on Masterpages (Printforms) SAP AG 2006, Accessibility at large scale for Enterprise software / 16 Test Process: Manual Check example .. Screen reader output for Web Dynpro: Reading Sequence for an InputField with a Label Tooltip has been defined as follows: <label> <type> <value> <state> <tooltip> <tutor> label means the label text of the associated label, type means InputField, state means e.g. unavailable / required / read only / invalid. Value is the field value, tooltip means the tooltip of the field and tutor means a tutor message how to use the control. Type, value, state and tutor attributes are provided by Web Dynpro. Application developers only have to check label, tooltip and accessibilityDescription (for containers) attributes by focusing the field (by tabbing) and listening to the screen reader output SAP AG 2006, Accessibility at large scale for Enterprise software / 17 Related Public Information SAP Design Guild (9th Edition): Accessibility http://www.sapdesignguild.org/editions/edition9/overview_edition9.asp SAP‘s Public Accessibility Web Page http://www.sap.com/platform/netweaver/standardssupport/accessibility.epx Frontend Requirements and Infrastructure for Accessibility http://www.sapdesignguild.org/resources/SAP_front-end_requirements.pdf Keyboard Usage for Interface Elements in SAP GUI for Windows http://www.sapdesignguild.org/resources/keyboardControl_NW04_EN.pdf Accessibility on SAP Service Marketplace http://service.sap.com/accessibility SAP Accessibility Documentation on SAP Service Marketplace (http://service.sap.com) Media Library Documentation on SAP Help Portal (http://help.sap.com) SAP NetWeaver English Getting Started (Using SAP Software) First Steps Accessibility SAP Accessibility Book (published in 2007) SAP AG 2006, Accessibility at large scale for Enterprise software / 18 Thank you! Questions ? SAP AG 2006, Accessibility at large scale for Enterprise software / 19 Copyright 2006 SAP AG. All Rights Reserved No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. Microsoft®, WINDOWS®, NT®, EXCEL®, Word®, PowerPoint® and SQL Server® are registered trademarks of Microsoft Corporation. IBM®, DB2®, DB2 Universal Database, OS/2®, Parallel Sysplex®, MVS/ESA, AIX®, S/390®, AS/400®, OS/390®, OS/400®, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere®, Netfinity®, Tivoli®, Informix and Informix® Dynamic ServerTM are trademarks of IBM Corporation in USA and/or other countries. ORACLE® is a registered trademark of ORACLE Corporation. UNIX®, X/Open®, OSF/1®, and Motif® are registered trademarks of the Open Group. Citrix®, the Citrix logo, ICA®, Program Neighborhood®, MetaFrame®, WinFrame®, VideoFrame®, MultiWin® and other Citrix product names referenced herein are trademarks of Citrix Systems, Inc. HTML, DHTML, XML, XHTML are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology. JAVA® is a registered trademark of Sun Microsystems, Inc. JAVASCRIPT® is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. MarketSet and Enterprise Buyer are jointly owned trademarks of SAP AG and Commerce One. SAP, R/3, mySAP, mySAP.com, xApps, xApp and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. SAP AG 2006, Accessibility at large scale for Enterprise software / 20