Model-Driven Development for Accessible Mobile Apps on Android
Total Page:16
File Type:pdf, Size:1020Kb
Submitted by Dipl.-Ing. Elmar Krainz Submitted at Institut Integriert Studieren Supervisor and First Examiner a.Univ.-Prof. Dr. Klaus Miesenberger Second Examiner Model-Driven Develop- Prof. Dr. Roberto Manduchi ment for Accessible Mo- May 2018 bile Apps on Android Doctoral Thesis to obtain the academic degree of Doktor der technischen Wissenschaften in the Doctoral Program Technische Wissenschaften JOHANNES KEPLER UNIVERSITY LINZ Altenbergerstraße 69 4040 Linz, Österreich www.jku.at DVR 0093696 Sworn Declaration I hereby declare under oath that the submitted Doctoral Thesis has been written solely by me without any third-party assistance, information other than provided sources or aids have not been used and those used have been fully documented. Sources for literal, paraphrased and cited quotes have been accurately credited. The submitted document here present is identical to the electronically submitted text document. Linz, May 2018 Dipl.-Ing. Elmar Krainz, bakk. techn. Abstract The market for apps and mobile software is on the rise and this goes hand in hand with the number of apps in the stores, which has recently hit 3 million available apps (see https://www:statista:com/statistics/266210/). Due to this development, the natural user interaction of smartphones plays a crucial role. People with disabilities benefit from the increasing digital technology in general, but only if it is accessible. However, apps are often not accessible for people with disabilities since touch screens and visual representation very often overlook their needs. According to the UN Convention on the Rights of Persons with Disabilities around 650 million people of the world’s population are handicapped. Within the European Union (EU) about 80 million people are affected by disabilities prompting the union to enact the Directive (EU) 2016/2102 which requests that websites and mobile applications of public sector bodies are accessible for all. Reviewing top apps in the Android store shows that even very popular apps such as WhatsApp, Messenger and Instagram have accessibility problems, i.e. contrast of texts and images, missing object descriptions or too small touch target sizes, pre- venting users with disabilities from having equal access to those apps (see Chapter 1). The thesis at hand presents an innovative approach, supporting the implementation of accessibility in the design and development process of mobile applications from the very beginning. We propose a model-driven approach for better integration and addressing accessibility requirements in the design and development process. To prove this concept, developers receive a prototype-tool - called Accapto (Acces- sible App Tool) - to transfer an interaction prototype to a formal model. The abstract definition describes screens, user interface elements and interaction workflows in a domain-specific description language. The model is transformed into a working app prototype for the Android platform. In the generation process, the app is created with proper platform-specific accessibility support and enhanced with additional supportive features and provides guidance to the developer to efficiently and effectively implement accessibility. In the course of the thesis, the level of accessibility of apps implemented with Accapto is evaluated against Web Content Accessibility Guidelines (WCAG 2.0) and also tested with users with disabilities. In particular, the new development tool is analyzed in an empirical study with 50 in- volved developers. In two test groups, the model-driven development approach using Accapto is compared with the standard development method. The results show a significant improvement in terms of accessibility for the model-driven development ap- proach. Therefore the thesis proves that model-driven approaches have a high potential to significantly improving app accessibility from the beginning and helps developers to raise their awareness for the needs of special user groups. Kurzfassung Der Markt für Apps und mobile Software ist auf dem Vormarsch. Dies geht Hand in Hand mit der Anzahl verfügbarer Apps, welche zuletzt die drei Millionen Marke über- schritten hat (siehe https://www:statista:com/statistics/266210/). Auf- grund dieser Entwicklung spielt die Bedienung von Smartphones eine entscheidende Rolle. Menschen mit Behinderungen profitieren von der zunehmenden digitalen Tech- nologie im Allgemeinen, aber nur, wenn sie zugänglich ist. Allerdings sind Apps für Menschen mit Behinderungen oft nicht zugänglich, da Touchscreens und visuelle Darstellungen ihre Bedürfnisse oft übersehen. Nach der UN-Konvention über die Rechte von Menschen mit Behinderungen sind rund 650 Millionen Menschen der Weltbevölkerung behindert. Innerhalb der Europäischen Union (EU) sind etwa 80 Millionen Menschen von Behinderungen betroffen. Um auch diese große Gruppe europäischer BürgerInnen einzubeziehen, hat die Europäische Union die Richtlinie (EU) 2016/2102, in Kraft setzt, in der gefordert wird, dass Websites und mobile Anwendungen öffentlicher Stellen für alle zugänglich sind. Die Überprüfung der Top-Apps im Android Store zeigt, dass selbst sehr beliebte Apps wie WhatsApp, Messenger und Instagram Probleme mit der Barrierefreiheit haben, z.B. Text- und Bildkontraste, fehlende Objektbeschreibungen oder zu kleine Berühr- ungszielbereichsgrößen, sodass Benutzer mit Behinderungen nicht den gleichen Zu- griff auf diese Apps haben (siehe Kapitel 1). Die vorliegende Arbeit präsentiert einen innovativen Ansatz, der die Implementierung von Barrierefreiheit in den Entwurfs- und Entwicklungsprozess von mobilen Anwen- dungen von Anfang an unterstützt. Diese Arbeit stellt einen modellgetriebenen Ansatz für eine bessere Integration von Accessibility-Anforderungen im Entwurfs- und En- twicklungsprozess vor. Um dieses Konzept zu untermauern, erhalten EntwicklerInnen ein Prototyp-Tool na- mens Accapto (Accessible App Tool), um einen Interaktionsprototyp auf ein formales Modell zu übertragen. Die abstrakte Definition beschreibt Screens, Elemente der Be- nutzeroberfläche und Interaktionsworkflows in einer domänenspezifischen Beschrei- bungssprache. Das Modell wird in einen funktionierenden App-Prototyp für die Android- Plattform umgewandelt. Im Generierungsprozess wird die App mit der richtigen platt- formspezifischen Accessibility-Unterstützung erstellt und um zusätzliche unterstützen- de Funktionen erweitert. Im Zuge dieser Arbeit wird die Barrierefreiheit des generierten App-Prototyps mit plattformspezifischen Tools evaluiert, durch die Web Content Accessibility Guidelines (WCAG) überprüft und durch unterschiedliche Nutzern mit speziellen Bedürfnissen getestet. Insbesondere wird das neue Entwicklungswerkzeug in einer empirischen Studie mit 50 beteiligten Entwicklern analysiert. In zwei Testgruppen wird der modellgetriebene En- twicklungsansatz mit Accapto mit der Standardentwicklungsmethode verglichen. Die Ergebnisse zeigen eine signifikante Verbesserung der Zugänglichkeit für den modell- getriebenen Entwicklungsansatz. Daher zeigt die Arbeit, dass modellgetriebene An- sätze von Anfang an ein hohes Potenzial haben, die App-Barrierefreiheit signifikant zu verbessern und EntwicklerInnen dabei unterstützen, auf die Bedürfnisse spezieller Nutzergruppen aufmerksam zu machen. Acknowledgments I am grateful to many people who were directly or indirectly involved in the preparation of this thesis. In particular, I want to thank • my supervisor a.Univ.-Prof. Dr. Klaus Miesenberger for his support and guidance during my thesis • Prof. Dr. Roberto Manduchi reading this thesis as the second examiner • my colleagues at FH JOANNEUM and Johannes Kepler University (JKU) helping me in my scientific work and their critical discussion when I needed fresh ideas • my students for testing prototypes, filling out questionaries and evaluating gen- erated apps • my family and friends for their motivating words and their support. And finally, my biggest thanks goes to Beate, Julian, and Niklas, who always gave me motivation and encouraged me to go on. Contents 1 Introduction1 1.1 Accessibility Problems in Mobile Apps . .1 1.2 Why Should Your App be Accessible? . .6 1.3 Aims of this Thesis . .7 1.4 Research Questions . .8 1.5 Proposed Solution: Accapto – Accessible App Tool . .8 1.6 Methodology and Structure of this Thesis . .9 1.7 Published Contributions . 10 2 Background and Related Work 11 2.1 Accessibility . 11 2.1.1 Disabilities . 12 2.1.2 Accessibility Legislation . 13 2.1.3 Accessibility Standards . 14 2.2 Mobile Accessibility . 17 2.2.1 Mobile Accessibility Mapping . 17 2.2.2 Accessibility Features of Popular Mobile Platforms . 18 2.2.3 Accessible Android Apps . 18 2.2.4 Related Work on Mobile Accessibility . 19 2.3 Model-Driven Development (MDD) . 22 2.3.1 Model and Meta-Model . 23 2.3.2 Modeling Languages . 23 2.3.3 Model Transformation and Code Generation . 25 2.4 Related Work . 26 2.4.1 Model-driven Development for User Interfaces . 26 2.4.2 Model-Driven Development for Mobile Applications . 28 2.4.3 Model-Driven Development supporting Accessibility . 29 2.5 Summary . 29 3 Model-Driven Development for Accessible Apps 31 3.1 Modeling with UML . 32 i CONTENTS ii 3.1.1 UML Diagrams for User Interaction . 33 3.1.2 Accessibility and UML . 35 3.2 A Model for Accessible Apps . 35 3.2.1 Elements of an Accessible Mobile App Model . 36 3.2.2 Profile . 38 3.2.3 Meta Model . 38 3.3 Model Description (DSL) for Accessible Apps . 39 3.4 Summary . 42 4 Generation of Accessible Apps 43 4.1 Android Applications . 44 4.2 Parsing the Model . 45 4.3 App Generation