ESERP eMarketing & Social Media Marketing Sesion II (Obsoleted)
How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable...
Transcript of How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable...
![Page 2: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/2.jpg)
How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | [email protected]
Topics
● Accessibility vs. Accessibility Support
● Phase 1: Getting Started
● Phase 2: Rebuilding What We Had
● Phase 3: Achieving “Always On” Accessibility
● How Does This Affect Me?
![Page 3: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/3.jpg)
Accessibility vs. Accessibility Support
An extremely quick introduction
![Page 4: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/4.jpg)
How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | [email protected]
Accessibility: removing barriers
● Themes and fonts
● Keyboard shortcuts
● Visual bells
● Assistive Technologies
![Page 5: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/5.jpg)
How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | [email protected]
Accessibility support: enabling access via ATs● Screen Reader
● Screen Magnifier
● Navigation by on-screen keyboard
● Navigation by voice
![Page 6: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/6.jpg)
Phase 1: Getting Started
Creating an Accessible, Free Desktop
![Page 7: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/7.jpg)
How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | [email protected]
Starting GNOME Accessibility
● Mar 1999: GNOME 1.0 release
● Oct 2000: “GNOME Accessibility Summit”– Sun, IBM, and others– How to make an accessible Free Desktop– Focus on GNOME 2.0
● Jun 2002: GNOME 2.0 released
![Page 8: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/8.jpg)
How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | [email protected]
Bolted on; not built in
● Allowed to evolve independently
● Implemented as gmodule plugins– gail– atk-bridge
● Loaded conditionally at run-time based on an Accessibility “on/off” user setting
![Page 9: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/9.jpg)
How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | [email protected]
Plugin pros
● Support won't interfere when it is not needed
● No additional memory/CPU overhead
(i.e. Hide the problems rather than fix them)
![Page 10: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/10.jpg)
How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | [email protected]
Plugin cons
● Tied to the session
● Loaded only at application start time
● Users need accessibility enabled in order to enable accessibility
![Page 11: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/11.jpg)
How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | [email protected]
Enabled by default in GNOME 2?
● Nov 2005: Accessibility enabled by default for development releases: ACCEPTED
● Jul 2008: Accessibility enabled by default forstable releases: REJECTED
![Page 12: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/12.jpg)
How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | [email protected]
“Still we have the problem that our current accessibility technology just sucks too much for being enabled by default.”
-- desktop-devel-list commenter
![Page 13: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/13.jpg)
How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | [email protected]
Wait a moment ...
● Still “sucks too much” after eight years?
● Accessibility was seen as an optional add-on.
● The Accessibility Team was always small.
● And then ...
![Page 14: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/14.jpg)
How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | [email protected]
Perfect storm
● Corporate accessibility development stops– Corporate “change of direction”– Layoffs followed by takeovers
● GNOME 3 development starts
![Page 15: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/15.jpg)
Phase 2: Rebuilding What We Had
And taking the opportunity to make it better
![Page 16: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/16.jpg)
How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | [email protected]
2010: Rework existing support
● Bonobo deprecation
● AT-SPI over DBUS (AT-SPI2)
● GObject Introspection
● GSettings vs GConf
![Page 17: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/17.jpg)
How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | [email protected]
2010: Implement new support
● New toolkits like Clutter
● New widgets in existing toolkits like Gtk+ 3
● New desktops like GNOME Shell
![Page 18: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/18.jpg)
How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | [email protected]
2011: Make improvements
● Fix regressions in the new and reworked code
● Improve toolkit a11y support, e.g. GtkTreeView
● Improve performance and stability
![Page 19: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/19.jpg)
How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | [email protected]
2010-2011: Integrate modules
● Cally becomes part of Clutter
● Gail becomes part of GTK
● ATK implementations are now built-in
● But atk-bridge remained a plugin
![Page 20: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/20.jpg)
Phase 3: Achieving“Always On” Accessibility
It takes a community to obsolete a setting.
![Page 21: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/21.jpg)
How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | [email protected]
2012: “Year of Accessibility”
● Hackfest to plan further work, including accessibility enabled by default
● Developers to focus on significantly improving the accessibility stack
● Friends of GNOME Campaign to support additional development
![Page 22: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/22.jpg)
How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | [email protected]
What changed?
● Stability improvements
● Performance improvements
● Accessibility framework not sending/getting messages unless an AT is listening
![Page 23: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/23.jpg)
How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | [email protected]
Enabled by default in GNOME 3?
● Apr 2012: proposed again
● tl;dr: ACCEPTED
![Page 24: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/24.jpg)
How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | [email protected]
The conservative approach
● Proposed by the Accessibility Team
● Just change the default value of the setting
● Approved by the GNOME Community
![Page 25: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/25.jpg)
How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | [email protected]
The no-turning-back approach
● Proposed by Benjamin Otte & Bastien Nocera
● Make atk-bridge a library which toolkits link to
● Embraced by the community (who pitched in)
● Implemented as the solution
![Page 26: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/26.jpg)
How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | [email protected]
What's the difference?
● Not an add-on but an add-in
● For users: It JustWorks™
● For developers:– App accessibility is tested by everyone– The atk-bridge is compiled by more developers
![Page 27: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/27.jpg)
How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | [email protected]
Is it working?
● Accessibility is always on as of GNOME 3.6.
● Distros are shipping it, users are using it.
● Developers have not suggested we undo it.
● We're finding and fixing bugs here and there.
● But...Yeah, it's working.
![Page 28: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/28.jpg)
How Does This Affect Me?
As a developer who wants to make my application or environment accessible
![Page 29: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/29.jpg)
How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | [email protected]
Are you using GTK?
● If you are using GTK >= 3.6:– GTK depends on the new library– Your app should be accessible out of the box
● If you are using GTK2:– These changes were not backported– The setting was kept in GNOME 3 for such apps
![Page 30: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/30.jpg)
How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | [email protected]
Any other toolkit/application?
● Assuming that you already have an ATK implementation for your widgets ...
● You only need to use at-spi2-bridge library– Add the dependency– Call an init method
● GNOME Shell's patch:– 16 insertions, 199 deletions
![Page 31: How GNOME Obsoleted its “Enable Accessibility” Setting...How GNOME Obsoleted its "Enable Accessibility Setting" | Alejandro Piñeiro | apinheiro@igalia.com Bolted on; not built](https://reader034.fdocuments.net/reader034/viewer/2022042804/5f56de9b6c3e5d066f7e0c47/html5/thumbnails/31.jpg)
Questions?