W3C:IndieUI in its context Andy Heath 2014-03-31 : Paris, France Braillnet 8th European e-Accessibility Forum: User-driven e-Accessibility Presentation Context • These are my own views, not necessarily those of any organisation • I do this work because I want to live in an inclusive world where we use technology to make life better and easier for us all • Nobody pays me (I would like that they did) • Two routes through these slides – route 1 - techy and concise but hard, route 2 - easy and woffly, explains the IndieUI context (get the technical detail later), audience choice 1 Route 1 IndieUI • http://www.w3.org/WAI/IndieUI/ • Participants include: Apple, IBM, Google, Opera, The Inclusive Design Research Centre Toronto, me + 8 other orgs • For Mobile - consists of – Events https://dvcs.w3.org/hg/IndieUI/rawfile/default/src/indie-ui-events.html – User Context https://dvcs.w3.org/hg/IndieUI/rawfile/default/src/indie-ui-context.html – Both at 1.0 Editors drafts 2 Route 1 Events • Low level interface events delivered through OS eventually to web app • IndieUI: Events 1.0 is an abstraction between physical, device-specific user interaction events and inferred user intent such as scrolling or changing values. This provides an intermediate layer between device- and modalityspecific user interaction events, and the basic user interface functionality used by web applications. IndieUI: Events focuses on granular user interface interactions such as scrolling the view, canceling an action, changing the value of a user input widget, selecting a range, placing focus on an object, etc. Implementing platforms will combine modality-specific user input, user idiosyncratic heuristics to determine the specific corresponding Indie UI event, and send that to the web application in addition to the modality-specific input such as mouse or keyboard events, should applications wish to process it. • Essentially for 1.0 – fix the problems • Developer must know about the event and register interest in that event (less impact on DOM) 3 • 3. UI Request Events3.1 Interface UIRequestEvent – – – 3.1.1 Attributes 3.1.2 Determining the Event Receiver 3.1.3 UIRequestEventInit – 3.1.4 UIRequestEvent Types • • 3.2.1 Attributes 3.2.2 Enumeration FocusRequestFocusType 3.2.3 UIFocusRequestEventInit • – 3.3 Interface UIManipulationRequestEvent – – 3.3.1 Attributes 3.3.2 UIManipulationRequestEventInit – – 3.3.3 Discrete UIManipulationRequestEvent Types 3.3.4 Continuous UIManipulationRequestEvent Types 3.3.2.1 Dictionary UIManipulationRequestEventInit Members 3.4 Interface UIScrollRequestEvent – – – 3.4.1 Attributes 3.4.2 Enumeration ScrollRequestScrollType 3.4.3 UIScrollRequestEventInit • – – • 3.2.3.1 Dictionary UIFocusRequestEventInit Members 3.2.4 UIFocusRequestEvent Types • • 3.1.3.1 Dictionary UIRequestEventInit Members 3.2 Interface UIFocusRequestEvent – – – • Route 1 3.4.3.1 Dictionary UIScrollRequestEventInit Members 3.4.4 UIScrollRequestEvent Types 3.4.5 Continuous UIScrollRequestEvent Types 3.5 Interface UIValueChangeRequestEvent – – – 3.5.1 Attributes 3.5.2 Enumeration ValueChangeRequestChangeType 3.5.3 UIValueChangeRequestEventInit • – 3.5.3.1 Dictionary UIValueChangeRequestEventInit Members 3.5.4 UIValueChangeRequestEvent Types 4 Route 1 User Context • The primary goal of IndieUI User Context is to provide authorized web applications access to information about a user's relevant settings and preferences, to provide the best possible user experience to all users. Some complex web applications can provide a much better experience if given access to information such as a user's preferred color, font, screen, and even *restricted* assistive technology settings such as a preference to render captions, or whether a screen reader is on. General web pages developed using best practices may never need access to restricted user settings, but complex web applications can utilize this information to enhance the performance and user interface. • 1.0 is fairly low level preferences 5 • 5. Settings Keys and Related Media Feature counterparts5.1 User Color Settings – 5.1.1 Key: user-color • 5.1.2 Key: user-background-color – 5.1.3 Key: colors-inverted • – – 5.1.4.1 Associated Media Feature: user-contrast 5.1.5.1 Associated Media Feature: monochrome 5.2 User Type/Font Settings – 5.2.1 Key: user-font-size • – – – – 5.2.1.1 Associated Media Feature: user-font-size 5.2.2 Key: user-minimum-font-size • 5.2.2.1 Associated Media Feature: user-minimum-font-size 5.2.3 Key: user-line-height 5.2.4 Key: user-letter-spacing 5.2.5 Key: user-word-spacing 5.3 User Media Settings – – – – 5.3.1 Key: subtitles 5.3.2 Key: subtitle-languages 5.3.3 Key: subtitle-type 5.3.4 Key: user-subtitle-color • – – 5.3.4.1 Associated Media Feature: user-subtitle-color 5.3.5 Key: user-subtitle-background-color • • 5.1.3.1 Associated Media Feature: colors-inverted 5.1.5 Key: monochrome • • 5.1.2.1 Associated Media Feature: user-background-color 5.1.4 Key: user-contrast • • 5.1.1.1 Associated Media Feature: user-color – • Route 1 5.3.5.1 Associated Media Feature: user-subtitle-background-color 5.3.6 Key: audio-description 5.4 Screen Reader Settings – 5.4.1 Key: screenreader • 5.4.1.1 Associated Media Feature: screenreader 6 Route 1 Beyond 1.0 • Work in Progress – http://www.w3.org/WAI/IndieUI/wiki/Proposals/K eyValueProperties – http://www.w3.org/WAI/IndieUI/wiki/User_Conte xt/Requirements • I hope – Higher level abstract media and UI preferences interoperable with some other pieces 7 Route 2 Accessibility • Is a relationship • Producer Consumer • Every effort to improve it is based on a way to cross the producer/consumer gap. It’s a hard gap to cross 8 Route 2 A few Models • Medical (e.g. ICIDH) • Social • Arthritic wrists – can’t turn door handles • Negative “you don’t have X, you aren’t normal” • It’s a model and people (choose to) forget that • Society disables us by its choices • Yes I like this, but how do we implement it ? 9 Route 2 Some Models bio-psychosocial • Technological UK Incapacity Benefits: • Evaluation, testing, what can we do with content to make it accessible (e.g. WCAG)? I think your capabilities are X, Y, Z and you can work This is RUBBISH • Yes this is good but its often producerside only and often defeated by complexity 10 Route 2 Some Models • User Needs • Instead of “arthritic wrists, can’t turn handle” • Needs handle that can be turned with low force • Can optimise designs and deliveries for individual users 11 Route 2 A Very Big Problem: • Producer: I know what you need • Consumer: This is rubbish, I can’t use it • I believe this is built in to how perception works (categorisation) • Accessibility is a relationship • To improve it both sides need to have influence 12 Route 2 Another Problem • Not just one producer – Many producers – Many technologies – Market Place • Need to get some coherence and interoperability – otherwise accessibility gets forgotten and after-the-fact companies cannot fill the gap (too complex, too expensive to keep up) 13 Route 2 Desktops • Originally no accessibility • Now standard Accessibility API’s for major platforms ISO:13066 standardised in ISOIEC SC35 User Interfaces • Developers (e.g. screen readers) can develop to them and it works • Still have many platforms and versions and changes cost a lot to developer companies • Still have e.g. interoperability issues (partly security) – often what works on one platform won’t on another 14 Route 2 Mobile Platforms • Can we do better ? YES (well we can try) • Common API to Web Apps (like Desktop API’s) • Individual Preferences (so users have some control and influence in what they get). – These together are IndieUI (Events and User Context) – Content and UI adapt to preferences in context • Challenges: – Getting organisations doing pieces of this in harmony – What preferences ? – Diverse business strategies (e.g. walled gardens and open ones, security and privacy) 15 Route 2 Some organisational pieces • Metadata on content and UI – http://www.w3.org/wiki/WebSchemas/Accessibility • Preferences to match these – In progress, developed from IMS Access for All V3.0 (http://www.imsglobal.org/accessibility/#afav3 ) and ISO/IEC Individualised Adaptability and Accessibility in L.E.T. (http://www.iso.org/iso/home/news_index/news_arc hive/news.htm?refid=Ref1217 ) – currently under redesign 16 • E.g • Notes: • This is Metadata on Content • Its low level, also need a high level abstract sensory mode we call accessMode in IMS • accessibilityFeature – – – – – – – – – – – – – – – – – – – – – – – – – – – – – Route 2 alternativeText annotations audioDescription bookmarks braille captions ChemML describedMath displayTransformability highContrastAudio highContrastDisplay index largePrint latex longDescription MathML none printPageNumbers readingOrder signLanguage structuralNavigation tableOfContents taggedPDF tactileGraphic tactileObject timingControl transcript ttsMarkup unlocked 17 Route 2 Related Initiatives • GPII – http://gpii.net • EPUB 3 and EDUPUB – http://idpf.org/edupub-europe-2014 – Adopting that WebSchemas Metadata – Needs preferences • IEEE Actionable Data Book – http://ieee-adb.org/ 18 ADBOOK Route 2 • http://www.computer.org/portal/web/Musings-from-the-IvoryTower/content?g=7512968&type=article&urlTitle=the-nextdisruption-in-digital-learning • For one thing, it means that eBooks are no longer just static books made digital. The transition to HTML5 and the W3C Open Web Platform opens up new, unexplored worlds of interactivity. For another thing, the same content may be used simultaneously on mobile devices and other platforms, as well as adapted to meet individual preferences and needs, including accessibility-related needs. A commuter on a noisy train can consume it as easily as a student hanging out on a balcony or a worker on a high-bandwidth connection in a modern office. Yet, that's not all. It also solves the business problem of consolidating content into a single, standardized format that can be conveniently managed for print, mobile, and desktop delivery. A case in point is IBM's recent decision to support EPUB as the company's primary packaged portable document format. 19 Me – happy to answer queries Routes 1 and 2 • andyheath@axelrod.plus.com • http://axelafa.com but its not up to date • What I do – Support for Individualisation in Standards – IMS Accessibility SIG, IndieUI, ISO/IEC JTC1 SC36 editor of 24751, IEEE ADBOOK lead the accessibility preferences work, W3C IndieUI – developing the User Context, ISO/IEC JTC1 SC35 User Interfaces, Revision of Guide 71/CEN Guide 6, ISO Special Working Group on Accessibilty, ISO Special Working Group on the Internet of Things. Phew. 20