Supporting accessibility in your distribution

Similar documents
How does software accessibility work?

Designing accessible applications

Maintaining accessibility through testing?

HCI: ACCESSIBILITY. Dr Kami Vaniea

GNOME 3.0 Accessibility: State of the Union. Alejandro Piñeiro

Reading Introduction to Web Accessibility

GUI Programming with GTK+

In this example on 20X200, the contrast ratio between the navigation text and its background is 1.57:1.

Flatpak and your distribution. Simon McVittie

OpenOffice.org & ODF Accessibility

Cloud4all and GPII: Anywhere Accessibility through Cloud-Based Auto-Personalisation

Programs for handicapped users (barrier free)

CS211 Lecture: The User Interface

Why You Should Not Use Arch

Basic UNIX 4: More on the GUI

Oracle Linux 7. Accessibility User's Guide

CISC 1600 Lecture 1.4 Design, part 2. Topics: Accessibility Responsive web design Example design review

Introducing web-accessibility. Making night and day difference as a developer.

From Electronical Questionnaires to Accessible Maths on Web

Slide 1 CS 170 Java Programming 1 Duration: 00:00:49 Advance mode: Auto

Choosing free software graphical libraries for embedded devices

David Kramer 11/20/13

How GNOME Obsoleted its Enable Accessibility Setting. Alejandro Piñeiro

Note: - the OS on which you will install VirtualBox is called the host OS. - the OS you will install on VirtualBox (later) is called the guest OS.

Accessibility in e-learning

The Grid 2 is accessible to everybody, accepting input from eye gaze, switches, headpointer, touchscreen, mouse, and other options too.

CPS122 Lecture: The User Interface

Take Command Configuring pppd in Linux, Part I

Accessibility FAQ PRESENCE. West Corporation. 100 Enterprise Way, Suite A-300 Scotts Valley, CA

No Barrier. Linux has many beautiful desktops, The Adriane desktop for the sight impaired. Know-How

The Perils of Using Assistive Technology for Testing

Lab 3a Using the vi editor

Remote GUI access to a Linux computer using Tightvnc

New to Mac. Viewing Options in Finder:

Teaching Accessibility

Creating accessible forms

How To Install Java Manually Linux Mint 13. Cinnamon >>>CLICK HERE<<<

Over All Idea about MVC: How to use Model- View-Controller (MVC)

The Practical Side of Teaching the Elderly Visually Impaired Users to Use the

I. INTRODUCTION ABSTRACT

Linux desktop app guide Documentation. Thomas Kluyver & contributors

University of Pennsylvania Zachary Goldberg. CIS c. More Kernel Bits. 10/03/09 Slide 1

The Ultimate Web Accessibility Checklist

Making Eclipse Accessible to People of all Abilities

Vision Impairment and Computing

Operating systems fundamentals - B02

UNIT 9 Introduction to Linux and Ubuntu

Windows 7 Will Not Load On My Computer Says Its

8 ISSUE 02 SPECIAL EDITION. Installing opensuse Ready to get started? This article shows you how to install opensuse from the disc

Adafruit's Raspberry Pi Lesson 1. Preparing an SD Card for your Raspberry Pi

Introduction to the Learning Environment v8.3.0

How To Manually Install Software In Linux Mint 13 From Usb

Download the current release* of VirtualBox for the OS on which you will install VirtualBox. In these notes, that's Windows 7.

Inside Visual C++: With CDROM (Microsoft Programming Series) PDF

Voluntary Product Accessibility Template

An introduction to screen readers

How to add support for DJVU file format on M$ Windows, Mac, GNU / Linux and FreeBSD

Conflict of Interest Declaration

Web site with recorded speech for visually impaired

Accessibility in Rich Internet Applications

GNOME Desktop. OSS-GUI Course Text Masayuki Ida August, 2005

Q.bo Webi User s Guide

Hello World! Computer Programming for Kids and Other Beginners. Chapter 1. by Warren Sande and Carter Sande. Copyright 2009 Manning Publications

Class #7 Guidebook Page Expansion. By Ryan Stevenson

COURSE DESIGN ACCESSIBILITY CHECKLIST

ACCESSIBLE DESIGN THEMES

SANOG VI IP Services Workshop: FreeBSD Install

,,NewsReader" - A Comfortable Digital Newspaper and Bookreading System

On the application of W3C Guidelines in Website Design from scratch

JPdfBookmarks Manual. by Flaviano Petrocchi

BEGINNING LINUX PROGRAMMING BY NEIL MATTHEW, RICHARD STONES DOWNLOAD EBOOK : BEGINNING LINUX PROGRAMMING BY NEIL MATTHEW, RICHARD STONES PDF

Managing CPU Resources with RHEL6 cgroups (...

How To Install And Manage Gnome Shell Themes In Ubuntu 12.04

Network Monitoring & Management. A few Linux basics

A Guide to CMS Functions

Creating A Virtual Machine for Microcosm

Fedora 12. Accessibility Guide. Fedora Documentation Project

Free holden astra 1987 workshop manual

BLUETOOTH KEYBOARD COMMANDS

Adobe Sign Voluntary Product Accessibility Template

Accessing Higher Ground Using ZoomText and Other Great Products from Ai Squared

The WordRead Toolbar lets you use WordRead's powerful features at any time without getting in your way.

IS READSPEAKER COMPLIANT WITH

Introduction to UNIX. Logging in. Basic System Architecture 10/7/10. most systems have graphical login on Linux machines

Basic UNIX 4: More on the GUI

Microsoft's latest OS is a lot better than its predecessor, but it still has some annoying quirks. We help you solve them.

Linux. An introduction. Aurélien Villani 01/2018

Introduction to Accessibility. Universal Usability and Internationalization of Interfaces

Computer-Based Assistive Technology Solutions

Bozen, 26th November 2007 Patrizia Boccacci DISI-University of Genoa

Troubleshooting. Participants List Displays Multiple Entries for the Same User

Manually Mount Usb Flash Drive Ubuntu Server

An overview of mobile and embedded platforms

Summary Table Voluntary Product Accessibility Template

HTML Text Editor and Accessibility

Linux on Sony VAIO mini-howto

2018 Texas Focus: On the Move! Accessing Information Anywhere / Anytime! Shedding Light on Cloud Computing Friday, March 2, :30-5:00 PM

Good afternoon and thank you for being at the webinar on accessible PowerPoint presentations. This is Dr. Zayira Jordan web accessibility coordinator

Windows 7 Will Not Load On My Computer Says I'm

QGIS Application - Bug report #18988 QGIS Server rendering different from Desktop rendering

Transcription:

ᅠ Supporting accessibility in your distribution Some feedback from Debian Samuel Thibault Slides & stuff on http://brl.thefreecat.org/ http://liberte0.org/ 1

Outline Introduction to accessibility Hardware Software interfaces Discussion Guidelines 4

Gnuplot Color blindness: 8% male, 0.5% female 5

Gnuplot 5!! Color blindness: 8% male, 0.5% female 6

What is accessibility? AKA a11y Usable by people with specific needs Blind Low vision Deaf Colorblind One-handed Cognition (dyslexia, attention disorder, memory,...) Motor disability (Parkinson,...) Elderly See Accessibility HOWTOs You Handicap depends on the situation and is not necessarily permanent 10% handicapped 20% limited 7

Hardware 8

Hardware Braille input/output Speech synthesis Joysticks Press button Eye-tracking... Basically replace mouse On-screen virtual keyboard 9

Don't focus on one technology Even for a given disability Braille is not perfect A lot of blind people can't read braille Braille devices are very expensive (several k ) Speech synthesis is not perfect Noisy environments Tedious for spelling issues 10

Piezo braille cell Usually 8 dots ~= one character Piezoelectric effect to move up/down 11

Braille devices Serial, USB, bluetooth connection 12 / 20 / 40 / 80 cells, price ~= 150*n 12

Software interfaces 13

Why making GUI accessible? (when textmode seems so easier to make accessible) A lot of stuff is not available in textmode e.g. real javascript support Business applications Non-tech people need to get help from nontech people around 14

Dedicated software? e.g. edbrowse, a blind-oriented editor/browser Generally a bad idea! Oriented to just one disability Lack of manpower e.g. Web browser javascript/flash/table/css support? e.g. An office suite MSOffice/OpenOffice compatibility? Disabled & non-disabled working together Better use the same software Better make existing applications accessible 15

Design principles Same software, made accessible Understand each other, get help, etc. Synchronized work Pervasive Just alternate input/output Being able to work together Shouldn't have to ask for software installation / configuration 16

Status in a few words Text mode is generally quite well accessible But not so well suited to beginners Gnome quite accessible Gnome 3 was however almost a restart-fromscratch We're late compared to the Windows world We started less than a dozen years ago They started a couple of decades ago We're Stone Age compared to the Apple world Really good and integrated support 17

Generic methodology Accessibility device Application Screen reader Abstract representation Accessibility bus Registry Visual Rendering 43

X accessibility, AT-SPI pixmap X server braille, speech,... Orca pango gtk atk text AT-SPI (bonobo/dbus) gedit 48

Abstract representation Window Vertical container Menu bar File Menu... Open Menu Item Horizontal container Text area Ok button 51

Technically speaking A lot of applications are already technically accessible Console GTK KDE-Qt4/5 ( Real Soon Now ) Acrobat Reader A lot are not KDE-Qt3 Xt Self-drawn (e.g. xpdf) 52

Text applications Usually work really great for braille output Always provide such equivalent of graphical applications, e.g. based on same shared lib Useful for servers via ssh too! The default output of screen readers is what the cursor is on Works great with shell, editor, etc. Doesn't work so great with semigraphical apps Put the cursor appropriately! Even when invisible, e.g. mutt, aumix 59

Graphical applications Design your application without gui in mind first Logical order, just like CSS Use standard widgets e.g. labeled text fields Avoid homemade widgets, or else implement atk yourself for them Always provide alternative textual content for visual content Keep it simple! Not only to make screen reading easier, but to make life easier for all users too! 60

Discussion 66

This is all about freedom #0 The freedom to run the program, for any purpose What about being able to use the program? RMS said a11y was just a desirable feature. Desirable only, really? RMS said this is free software, you can modify it (freedom #1) Can. Not. Happen. 67

Why is accessibility so hard? Vint Cerf asked in Communications of the ACM November 2012: Why is accessibility so hard? Issues are mostly not technical, actually 69

A question of priority Should be prioritized Just like internationalization 71

A question of who doing it Concerns only a small fraction of population Already a hard time using computers... Almost nobody with both disabilities and programming skills Almost nobody with awareness and programming skills either This is free software, you can modify it can not work. Support has to be integrated Distributed among maintainers themselves Not borne by the tiny a11y community 72

The specialized distribution trap There shouldn't be specialized distributions Accessibility is orthogonal to any other concern It's orthogonal to blends and tasks Users should be able to choose blend&task All (music, medecine, teaching, ) distributions should be accessible Specialized distros tend to be specific Specialized distros are interesting testbeds, though 73

Graal: accessibility everywhere Using a computer at the library, the airport, the university practice room, etc. First ask admin to install & configure software?! Installed by default, ready for use Requires very close integration E.g. support in Debian Installer 74

So, what to do? 75

Software Distribution Text-based distribution Installation, configuration,... A plethora of software, often text equivalents ogg123, mc, o3tohtml... Please continue packaging those! Accessibility-related packages Brltty, AT-SPI, Orca,... 76

Testing it Make sure that it works In textmode readers access VT & soundcard, before login /dev/vcsa they simulate keypresses TIOCSTI uinput 77

Testing it In both dm then joe user GUI session at-spi-bus-launcher, at-spi2-registryd running as the proper user (dm then joe) session dbus gives user's AT-SPI bus address: dbus send session dest=org.a11y.bus print reply /org/a11y/bus org.a11y.bus.getaddress and xprop root AT_SPI_BUS returns it accerciser tool seeing applications Orca runs and speaks

It needs to be enabled! GTK2 gconftool 2 get /desktop/gnome/applications/at/screen_reader_enabled GTK3 schema gsettings get org.gnome.desktop.a11y.applications screenreader enabled gsettings get org.mate.interface accessibility KDE4/5 echo $QT_ACCESSIBILITY XFCE Xfconf query c xfce4 session p StartAssistiveTechnologies

More bits Some applications need more GTK2: libgail module KDE4: qt-at-spi plugin Open/LibreOffice: GTK frontend Java: Java-atk-wrapper problem with multi-threading :( Typing from braille device: xbrlapi 32bit apps: 32bit equivalents!

How to bootstrap? 82

How to bootstrap? Entering a cyber café, how to access computers? Autodetection Shortcuts USB braille devices Existing: XAccess (standard shortcut), Compiz zoom. Speech synthesis? Accessibility panel Needs to be accessible itself! 83

How to bootstrap? (2) Accessibility installed by default You never know who will need it At home At workplace At library... Ready to be easily enabled GPII: e.g. a USB key with a config file

How to bootstrap? (3) Brand new computer, let's install Linux! Same issues and potential solutions Nowadays: accessible installation CDs e.g. start speech synthesis by default But all installation CDs should be accessible! Including e.g. all Debian forks for various uses Debian installer USB braille auto-detection High contrast or hardware speech by hand Software speech synthesis (s <enter>) 85

Installer TODO Details available on http://brl.thefreecat.org/ Switch to text mode and run brltty (udev script) or speakup Graphical accessibility AT-SPI & Orca Color themes Enable same accessibility features at reboot! Being able to pass parameters for tuning them Kernel cmdline or preseed 86

Has to be testable By all maintainers Debian installer: wiki page documents testing Part of the regression tests No need for specific hardware Qemu has virtual braille device 87

What about the bootloader? Mostly not accessible nowadays, but improving Beep to tell that the menu is shown (done) Keyboard shortcuts (done) Beep to tell which item is selected Pre-synthesized ogg files saying entries Sound drivers in the bootloader!? Screen reader For the core, just another alternative terminal 89

About bugs Take users suggestions into consideration E.g. bracketed links in text web browsers Be patient with disabled people It's not easy for them to use your software It's even more difficult for them to explain their problems in an understandable way e.g. braille doesn't follow Discuss! 90

About bugs (2) Try to keep in mind their disability and their consequences Yes, blind users don't care that the framebuffer doesn't show up properly! You could even contact your local institutes for disabled people, to discuss directly with users 91

More general ideas Getting people involved Subscribe to foo-accessibility Make sure yourdistrib.org is accessible Add an accessibility chapter to the installation manual Add an accessibility chapter the Maintainers' guide Add an accessibility tag to bugs Cc-ed to foo-accessibility 92

Discussions Foo-accessibility mailing list Good to centralize user knowledge Shouldn't become a side-park Discussions should happen on main lists Cc foo-accessibility Discussing is essential Find compromises so it can be mainstream Involve other maintainers Sustainability 93

Conclusion Quite a few of your distribution users need accessibility Right from the start Yes, blind people do reinstall their PC at 2am too :) No, they don't necessarily have a sighted sibling near them at 2am either :) In any situation Library, practice rooms, etc. Please help us making accessibility mainstream! 102