SlideShare una empresa de Scribd logo
1 de 36
Descargar para leer sin conexión
GNOME 3.0 Accessibility:
State of the Union
Alejandro Piñeiro (apinheiro@igalia.com)
Let's introduce it ...
Accessibility?
●

Means helping people with disabilities to

participate in any life activity

●

Like computer stuff. That involves
●

… programmatic access

●

… keyboard navigation

●

… themes
AT ?
●

AT == Assistive Technologie
●

Screen readers

●

On screen keyboards

●

Magnifiers

●

Ok
what needs an AT ?
●

Know which apps are running

●

Know the active app

●

Know the focus object

●

Be able to interact with the app
AT-SPI ?
●

“Assistive Technologie Service Provider Interface”
●

Daemon providing the functionality that
requires those ATs

●

“out of the process”

●

Using CORBA/bonobo on the old times
And the apps?
●

How they expose the data?

●

Direct CORBA calls to AT-SPI?

●

It would be doing stuff really similar …

●

But apps are heterogeneous ...
ATK
●

ATK = Accessibility ToolKit
●

Common interface

●

The atk-bridge uses ATK calls to know
that to expose to AT-SPI

●

Toolkits and apps implement ATK

●

“in process”
How this stuff was
implemented?
●

Not in time for GNOME 2.X
●

Isolated on runtime loadable modules
●

At-spi provided at-bridge

●

Gail provided an ATK implementation

●

Isolated since the beginning

●

Extension and access to private data
nightmares
That old GNOME 2.0
Stories from the past
Bill Haneman, March Mulhany,
GUADEC 2004: “Where we are today”

●
●

●
●

8 critical bugs, ~50 serious bugs
Assessment:
● 2.6 : Can be made to work, with some effort
● Need some HEAD components for better results
● 2.8 : Reasonable level of functionality “out of the box” :
(still at risk)
● GOAL: disabled users can do all key tasks
● Depends on regression control and attention by
packagers, community
GNOME 3.0 is coming!
(First introduced at Istanbul 2008)
Changes, changes!
●

CORBA is dead, long live DBUS
●

AT-SPI (major piece) CORBA based

●

Nokia fund initial move on 2008

●

Gsettings VS GConf

●

Desktops: GNOME Shell, Unity

●

Clutter, Gtk3

●

CSUN 2010 Accessibility Summit
Hey, why so serious?
●

We worked to get the a11y pieces on

GNOME 2.0
Why just keep sync with GNOME 3.0 is so

●

a big problem … ?

●

Lets talk about that later ...
GNOME 3.0 is here!
(April 2011)
GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)
GNOME 3.0.1 improved
●

A11y community started to use a testing

distro based on Frederic Crozat one

●

Major functionality issues were solved

●

GNOME “classic” is still the solution for

a11y users
So, what we have here?
●

Infrastructure: ATK, AT-SPI

Toolkit implementations: GAIL, Cally, Java

●

Apps: LibreOffice

●

Ats: Orca, Caribou, GNOME Voice Control,

●

VEDICS, Dasher, OpenGazer, MouseTrap

●

A lot of things, right?
Really?
●

At-spi just ported, no new features

●

ATK still 1.0 after 10 years.

●

Less than 5 commits in last two years for

GVC, Dasher, MouseTrap, etc
What we really have?
●

Infrastructure requires to be updated

●

Some first citizens: Orca, Caribou,

GNOME Shell built-in magnification

●

Several Ats on their own

●

Whats the difference?
difference
●

Orca has a real community behind
Some history – good times
●

16 Oct 2000,

“GNOME Accessibility Summit”

●

●

●

Sun, IBM and others joined the party
A11y had a really big push

A lot of new stuff between 2000-2005:
●

ATK, AT-SPI, GAIL, Gnopernicus, LSR,
Some history – bad times
●

1 Jun 2007, IBM “change strategies”
●

●

LSR dies, Orca survives

27 Jan 2010, Sun is acquired by Oracle
●

Sun decreasing workforce is mostly
removed

●

Willie Walker stops to be a11y leader
and Orca co-maintainer
First conclusion?
●

If GNOME a11y wants to survive requires

to maintain a healthy community

●

But a11y applies to all GNOME.

●

Why “GNOME a11y”?, why not “GNOME”?

●

And talking about that ….
That mail …
●

2011-06-01
<snip>
>From my perspective, the a11y team is far too happy to be inits own
little corner, working on its 'testing distro' and its own little
tools that need to work on every OS and thus end up working properly
on none of them. Yet, when I try to run accerciser in a jhbuild tree
on my system, it locks up solid after a few minutes every single
Time...

<snip>
A11y had opposite feeling
●

Some IRC examples:

Jan 22 21:31:37 <anonymous> API: aha...yeah. We need support for users who don't use the
mouse at all.
Jan 22 21:32:14 <anonymous> Seems as though that would just be a fundamental thing to build
in
Jan 22 21:35:08 <anonymous> As we all know, designing for a11y helps *everyone*, not just
stupid disabled chumps that nobody cares about.
Jan 22 21:38:35 <anonymous> API - heh - just joshing. I wasn't poking at you. I was poking at
mainstream developers who haven't embraced accessible design yet.
Jan 22 21:39:33 <API>
yeah, I supposed that, but sometimes there are some strange
situations
Jan 22 21:40:06 <API>
for example, at Boston, there are some presentations, and then the
time of the "complainers from ally"
Communication breakdown
●

A11y “folks” thing that the others prefer them to be

isolated, and the others thinks that they are happy
with that …

●

Other extract from “that mail”:
“I think that we have to be honest about the fact that a11y is not a
first-class feature of GNOME until it is fully integrated” .
Current work and future
ATK/AT-SPI2 Hackfest
●

Analysis of current status and future

●

A lot of things to do now on ATK2

●

A lot of things would require an API

breakage
ATK/AT-SPI2 Hackfest (2)
●

A lot of ATK implementors to be updated
●

●

Clutter

●

LibreOffice

●

Unity

●

●

GTK

Etc.

AT-SPI2 would also require some changes
GailEctomy
●

Benjamin Otte and Matthias Clasen are

merging GAIL and GTK

●

First Benjamin conclusions about ATK

were really more radical ;)
Performance and stability
●

Target: being able to have a11y running

by default without affecting performance
and stability

●

Mike Gorse working on that, made some

changes

●

Require to measure the changes
GNOME Shell
●

Awesome built-in Magnifier
●

●

by Joseph Scheuhammer

On screen keyboard based on Caribou
●

by Nohemi Fernandez

GNOME 3.0 included some ATK patches

●

●

Still not really usable with Orca

●

Work in progress
A summary?
Current status
Current status
●

An accessibility framework

●

Bad: Not enough ATs or people
●

●

Bus factor of one in several cases

Good: GTK+ developers are taking care

of GAIL

●

What we need: improve the base, more

ATs, more people
Questions?

Más contenido relacionado

Similar a GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)

GNOME 3.4 accessible: Status, news, future (FOSDEM 2012)
GNOME 3.4 accessible: Status, news, future (FOSDEM 2012)GNOME 3.4 accessible: Status, news, future (FOSDEM 2012)
GNOME 3.4 accessible: Status, news, future (FOSDEM 2012)Igalia
 
Unity: la shell di ubuntu
Unity: la shell di ubuntuUnity: la shell di ubuntu
Unity: la shell di ubuntuMarco Trevisan
 
New generation Linux distributions that companion with Geeko : opencocon and...
New generation Linux distributions that companion with Geeko :  opencocon and...New generation Linux distributions that companion with Geeko :  opencocon and...
New generation Linux distributions that companion with Geeko : opencocon and...shimadah
 
Campkde 2010: KDE Plasma netbook
Campkde 2010: KDE Plasma netbookCampkde 2010: KDE Plasma netbook
Campkde 2010: KDE Plasma netbookMarco Martin
 
Large-scale OpenOffice.org Migrations in Thailand
Large-scale OpenOffice.org Migrations in Thailand Large-scale OpenOffice.org Migrations in Thailand
Large-scale OpenOffice.org Migrations in Thailand Osdev
 
Linaro and Android Kernel
Linaro and Android KernelLinaro and Android Kernel
Linaro and Android KernelJohn Lee
 
Troubleshooting Memory-Related Issues with the Memory Profiler
Troubleshooting Memory-Related Issues with the Memory Profiler Troubleshooting Memory-Related Issues with the Memory Profiler
Troubleshooting Memory-Related Issues with the Memory Profiler Unity Technologies
 
Introduction to Gnu/Linux
Introduction to Gnu/LinuxIntroduction to Gnu/Linux
Introduction to Gnu/LinuxRanjith Siji
 
How GNOME Obsoleted its "Enable Accessibility" Setting (FOSDEM 2013)
How GNOME Obsoleted its "Enable Accessibility" Setting (FOSDEM 2013)How GNOME Obsoleted its "Enable Accessibility" Setting (FOSDEM 2013)
How GNOME Obsoleted its "Enable Accessibility" Setting (FOSDEM 2013)Igalia
 
Linux Accessibility Workshop, Sun Accessibility
Linux Accessibility Workshop, Sun AccessibilityLinux Accessibility Workshop, Sun Accessibility
Linux Accessibility Workshop, Sun AccessibilityMalte Timmermann
 
Ubuntu presentation
Ubuntu presentationUbuntu presentation
Ubuntu presentationFadwa Gmiden
 
Advanced Video Production with FOSS
Advanced Video Production with FOSSAdvanced Video Production with FOSS
Advanced Video Production with FOSSKirk Kimmel
 
Guide to the Open Source Desktop
Guide to the Open Source DesktopGuide to the Open Source Desktop
Guide to the Open Source DesktopPOSSCON
 
Intoduction to Linux
Intoduction to LinuxIntoduction to Linux
Intoduction to LinuxAnshul Sharma
 

Similar a GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011) (20)

GNOME 3.4 accessible: Status, news, future (FOSDEM 2012)
GNOME 3.4 accessible: Status, news, future (FOSDEM 2012)GNOME 3.4 accessible: Status, news, future (FOSDEM 2012)
GNOME 3.4 accessible: Status, news, future (FOSDEM 2012)
 
Linux Sucks
Linux SucksLinux Sucks
Linux Sucks
 
Linux Sucks
Linux SucksLinux Sucks
Linux Sucks
 
Ubuntu 17.10
Ubuntu 17.10Ubuntu 17.10
Ubuntu 17.10
 
Unity: la shell di ubuntu
Unity: la shell di ubuntuUnity: la shell di ubuntu
Unity: la shell di ubuntu
 
New generation Linux distributions that companion with Geeko : opencocon and...
New generation Linux distributions that companion with Geeko :  opencocon and...New generation Linux distributions that companion with Geeko :  opencocon and...
New generation Linux distributions that companion with Geeko : opencocon and...
 
Campkde 2010: KDE Plasma netbook
Campkde 2010: KDE Plasma netbookCampkde 2010: KDE Plasma netbook
Campkde 2010: KDE Plasma netbook
 
Opensource Software usability
Opensource Software usabilityOpensource Software usability
Opensource Software usability
 
Large-scale OpenOffice.org Migrations in Thailand
Large-scale OpenOffice.org Migrations in Thailand Large-scale OpenOffice.org Migrations in Thailand
Large-scale OpenOffice.org Migrations in Thailand
 
Linaro and Android Kernel
Linaro and Android KernelLinaro and Android Kernel
Linaro and Android Kernel
 
Troubleshooting Memory-Related Issues with the Memory Profiler
Troubleshooting Memory-Related Issues with the Memory Profiler Troubleshooting Memory-Related Issues with the Memory Profiler
Troubleshooting Memory-Related Issues with the Memory Profiler
 
Introduction to Gnu/Linux
Introduction to Gnu/LinuxIntroduction to Gnu/Linux
Introduction to Gnu/Linux
 
How GNOME Obsoleted its "Enable Accessibility" Setting (FOSDEM 2013)
How GNOME Obsoleted its "Enable Accessibility" Setting (FOSDEM 2013)How GNOME Obsoleted its "Enable Accessibility" Setting (FOSDEM 2013)
How GNOME Obsoleted its "Enable Accessibility" Setting (FOSDEM 2013)
 
Linux Accessibility Workshop, Sun Accessibility
Linux Accessibility Workshop, Sun AccessibilityLinux Accessibility Workshop, Sun Accessibility
Linux Accessibility Workshop, Sun Accessibility
 
Ubuntu presentation
Ubuntu presentationUbuntu presentation
Ubuntu presentation
 
Advanced Video Production with FOSS
Advanced Video Production with FOSSAdvanced Video Production with FOSS
Advanced Video Production with FOSS
 
Guide to the Open Source Desktop
Guide to the Open Source DesktopGuide to the Open Source Desktop
Guide to the Open Source Desktop
 
Intoduction to Linux
Intoduction to LinuxIntoduction to Linux
Intoduction to Linux
 
Ubuntu Quick Guide
Ubuntu Quick GuideUbuntu Quick Guide
Ubuntu Quick Guide
 
Windows -> Linux
Windows -> LinuxWindows -> Linux
Windows -> Linux
 

Más de Igalia

Implementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamerImplementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamerIgalia
 
8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in MesaIgalia
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIgalia
 
2023 in Chimera Linux
2023 in Chimera                    Linux2023 in Chimera                    Linux
2023 in Chimera LinuxIgalia
 
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSDelegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSIgalia
 
MessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the webMessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the webIgalia
 
Replacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shadersReplacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shadersIgalia
 
I'm not an AMD expert, but...
I'm not an AMD expert, but...I'm not an AMD expert, but...
I'm not an AMD expert, but...Igalia
 
Status of Vulkan on Raspberry
Status of Vulkan on RaspberryStatus of Vulkan on Raspberry
Status of Vulkan on RaspberryIgalia
 
Async page flip in DRM atomic API
Async page flip in DRM  atomic APIAsync page flip in DRM  atomic API
Async page flip in DRM atomic APIIgalia
 
From the proposal to ECMAScript – Step by Step
From the proposal to ECMAScript – Step by StepFrom the proposal to ECMAScript – Step by Step
From the proposal to ECMAScript – Step by StepIgalia
 
Migrating Babel from CommonJS to ESM
Migrating Babel     from CommonJS to ESMMigrating Babel     from CommonJS to ESM
Migrating Babel from CommonJS to ESMIgalia
 
The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...
The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...
The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...Igalia
 
Freedreno on Android – XDC 2023
Freedreno on Android          – XDC 2023Freedreno on Android          – XDC 2023
Freedreno on Android – XDC 2023Igalia
 
Having fun with GPU resets in Linux – XDC 2023
Having fun with GPU resets in Linux – XDC  2023Having fun with GPU resets in Linux – XDC  2023
Having fun with GPU resets in Linux – XDC 2023Igalia
 
Etnaviv: Status update –  XDC 2023
Etnaviv: Status update     –    XDC 2023Etnaviv: Status update     –    XDC 2023
Etnaviv: Status update –  XDC 2023Igalia
 
Debugging GPU faults: QoL tools for your driver – XDC 2023
Debugging GPU faults: QoL tools for your driver – XDC 2023Debugging GPU faults: QoL tools for your driver – XDC 2023
Debugging GPU faults: QoL tools for your driver – XDC 2023Igalia
 
KMS Color Management Workshop Report (Melissa Wen)
KMS Color Management Workshop Report (Melissa Wen)KMS Color Management Workshop Report (Melissa Wen)
KMS Color Management Workshop Report (Melissa Wen)Igalia
 
CI Workshop: The plan, reality, and discussions
CI Workshop: The plan, reality, and discussionsCI Workshop: The plan, reality, and discussions
CI Workshop: The plan, reality, and discussionsIgalia
 
Web Browsing on XR
Web Browsing on XRWeb Browsing on XR
Web Browsing on XRIgalia
 

Más de Igalia (20)

Implementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamerImplementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamer
 
8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
 
2023 in Chimera Linux
2023 in Chimera                    Linux2023 in Chimera                    Linux
2023 in Chimera Linux
 
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSDelegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
 
MessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the webMessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the web
 
Replacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shadersReplacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shaders
 
I'm not an AMD expert, but...
I'm not an AMD expert, but...I'm not an AMD expert, but...
I'm not an AMD expert, but...
 
Status of Vulkan on Raspberry
Status of Vulkan on RaspberryStatus of Vulkan on Raspberry
Status of Vulkan on Raspberry
 
Async page flip in DRM atomic API
Async page flip in DRM  atomic APIAsync page flip in DRM  atomic API
Async page flip in DRM atomic API
 
From the proposal to ECMAScript – Step by Step
From the proposal to ECMAScript – Step by StepFrom the proposal to ECMAScript – Step by Step
From the proposal to ECMAScript – Step by Step
 
Migrating Babel from CommonJS to ESM
Migrating Babel     from CommonJS to ESMMigrating Babel     from CommonJS to ESM
Migrating Babel from CommonJS to ESM
 
The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...
The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...
The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...
 
Freedreno on Android – XDC 2023
Freedreno on Android          – XDC 2023Freedreno on Android          – XDC 2023
Freedreno on Android – XDC 2023
 
Having fun with GPU resets in Linux – XDC 2023
Having fun with GPU resets in Linux – XDC  2023Having fun with GPU resets in Linux – XDC  2023
Having fun with GPU resets in Linux – XDC 2023
 
Etnaviv: Status update –  XDC 2023
Etnaviv: Status update     –    XDC 2023Etnaviv: Status update     –    XDC 2023
Etnaviv: Status update –  XDC 2023
 
Debugging GPU faults: QoL tools for your driver – XDC 2023
Debugging GPU faults: QoL tools for your driver – XDC 2023Debugging GPU faults: QoL tools for your driver – XDC 2023
Debugging GPU faults: QoL tools for your driver – XDC 2023
 
KMS Color Management Workshop Report (Melissa Wen)
KMS Color Management Workshop Report (Melissa Wen)KMS Color Management Workshop Report (Melissa Wen)
KMS Color Management Workshop Report (Melissa Wen)
 
CI Workshop: The plan, reality, and discussions
CI Workshop: The plan, reality, and discussionsCI Workshop: The plan, reality, and discussions
CI Workshop: The plan, reality, and discussions
 
Web Browsing on XR
Web Browsing on XRWeb Browsing on XR
Web Browsing on XR
 

Último

Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - TechWebinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - TechProduct School
 
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc
 
Extra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdfExtra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdfInfopole1
 
2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdfThe Good Food Institute
 
UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3DianaGray10
 
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInOutage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInThousandEyes
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1DianaGray10
 
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxEmil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxNeo4j
 
Flow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameFlow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameKapil Thakar
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.IPLOOK Networks
 
Automation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsAutomation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsDianaGray10
 
My key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIMy key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIVijayananda Mohire
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 
How to release an Open Source Dataweave Library
How to release an Open Source Dataweave LibraryHow to release an Open Source Dataweave Library
How to release an Open Source Dataweave Libraryshyamraj55
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingMAGNIntelligence
 
Introduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its applicationIntroduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its applicationKnoldus Inc.
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kitJamie (Taka) Wang
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxNeo4j
 
.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptxHansamali Gamage
 
UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2DianaGray10
 

Último (20)

Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - TechWebinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
 
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
 
Extra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdfExtra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdf
 
2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf
 
UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3
 
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInOutage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1
 
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxEmil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
 
Flow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameFlow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First Frame
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.
 
Automation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsAutomation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projects
 
My key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIMy key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAI
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
How to release an Open Source Dataweave Library
How to release an Open Source Dataweave LibraryHow to release an Open Source Dataweave Library
How to release an Open Source Dataweave Library
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced Computing
 
Introduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its applicationIntroduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its application
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kit
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
 
.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx
 
UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2
 

GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)

  • 1. GNOME 3.0 Accessibility: State of the Union Alejandro Piñeiro (apinheiro@igalia.com)
  • 3. Accessibility? ● Means helping people with disabilities to participate in any life activity ● Like computer stuff. That involves ● … programmatic access ● … keyboard navigation ● … themes
  • 4. AT ? ● AT == Assistive Technologie ● Screen readers ● On screen keyboards ● Magnifiers ● Ok
  • 5. what needs an AT ? ● Know which apps are running ● Know the active app ● Know the focus object ● Be able to interact with the app
  • 6. AT-SPI ? ● “Assistive Technologie Service Provider Interface” ● Daemon providing the functionality that requires those ATs ● “out of the process” ● Using CORBA/bonobo on the old times
  • 7. And the apps? ● How they expose the data? ● Direct CORBA calls to AT-SPI? ● It would be doing stuff really similar … ● But apps are heterogeneous ...
  • 8. ATK ● ATK = Accessibility ToolKit ● Common interface ● The atk-bridge uses ATK calls to know that to expose to AT-SPI ● Toolkits and apps implement ATK ● “in process”
  • 9. How this stuff was implemented? ● Not in time for GNOME 2.X ● Isolated on runtime loadable modules ● At-spi provided at-bridge ● Gail provided an ATK implementation ● Isolated since the beginning ● Extension and access to private data nightmares
  • 11. Stories from the past Bill Haneman, March Mulhany, GUADEC 2004: “Where we are today” ● ● ● ● 8 critical bugs, ~50 serious bugs Assessment: ● 2.6 : Can be made to work, with some effort ● Need some HEAD components for better results ● 2.8 : Reasonable level of functionality “out of the box” : (still at risk) ● GOAL: disabled users can do all key tasks ● Depends on regression control and attention by packagers, community
  • 12. GNOME 3.0 is coming! (First introduced at Istanbul 2008)
  • 13. Changes, changes! ● CORBA is dead, long live DBUS ● AT-SPI (major piece) CORBA based ● Nokia fund initial move on 2008 ● Gsettings VS GConf ● Desktops: GNOME Shell, Unity ● Clutter, Gtk3 ● CSUN 2010 Accessibility Summit
  • 14. Hey, why so serious? ● We worked to get the a11y pieces on GNOME 2.0 Why just keep sync with GNOME 3.0 is so ● a big problem … ? ● Lets talk about that later ...
  • 15. GNOME 3.0 is here! (April 2011)
  • 17. GNOME 3.0.1 improved ● A11y community started to use a testing distro based on Frederic Crozat one ● Major functionality issues were solved ● GNOME “classic” is still the solution for a11y users
  • 18. So, what we have here? ● Infrastructure: ATK, AT-SPI Toolkit implementations: GAIL, Cally, Java ● Apps: LibreOffice ● Ats: Orca, Caribou, GNOME Voice Control, ● VEDICS, Dasher, OpenGazer, MouseTrap ● A lot of things, right?
  • 19. Really? ● At-spi just ported, no new features ● ATK still 1.0 after 10 years. ● Less than 5 commits in last two years for GVC, Dasher, MouseTrap, etc
  • 20. What we really have? ● Infrastructure requires to be updated ● Some first citizens: Orca, Caribou, GNOME Shell built-in magnification ● Several Ats on their own ● Whats the difference? difference ● Orca has a real community behind
  • 21. Some history – good times ● 16 Oct 2000, “GNOME Accessibility Summit” ● ● ● Sun, IBM and others joined the party A11y had a really big push A lot of new stuff between 2000-2005: ● ATK, AT-SPI, GAIL, Gnopernicus, LSR,
  • 22. Some history – bad times ● 1 Jun 2007, IBM “change strategies” ● ● LSR dies, Orca survives 27 Jan 2010, Sun is acquired by Oracle ● Sun decreasing workforce is mostly removed ● Willie Walker stops to be a11y leader and Orca co-maintainer
  • 23. First conclusion? ● If GNOME a11y wants to survive requires to maintain a healthy community ● But a11y applies to all GNOME. ● Why “GNOME a11y”?, why not “GNOME”? ● And talking about that ….
  • 24. That mail … ● 2011-06-01 <snip> >From my perspective, the a11y team is far too happy to be inits own little corner, working on its 'testing distro' and its own little tools that need to work on every OS and thus end up working properly on none of them. Yet, when I try to run accerciser in a jhbuild tree on my system, it locks up solid after a few minutes every single Time... <snip>
  • 25. A11y had opposite feeling ● Some IRC examples: Jan 22 21:31:37 <anonymous> API: aha...yeah. We need support for users who don't use the mouse at all. Jan 22 21:32:14 <anonymous> Seems as though that would just be a fundamental thing to build in Jan 22 21:35:08 <anonymous> As we all know, designing for a11y helps *everyone*, not just stupid disabled chumps that nobody cares about. Jan 22 21:38:35 <anonymous> API - heh - just joshing. I wasn't poking at you. I was poking at mainstream developers who haven't embraced accessible design yet. Jan 22 21:39:33 <API> yeah, I supposed that, but sometimes there are some strange situations Jan 22 21:40:06 <API> for example, at Boston, there are some presentations, and then the time of the "complainers from ally"
  • 26. Communication breakdown ● A11y “folks” thing that the others prefer them to be isolated, and the others thinks that they are happy with that … ● Other extract from “that mail”: “I think that we have to be honest about the fact that a11y is not a first-class feature of GNOME until it is fully integrated” .
  • 28. ATK/AT-SPI2 Hackfest ● Analysis of current status and future ● A lot of things to do now on ATK2 ● A lot of things would require an API breakage
  • 29. ATK/AT-SPI2 Hackfest (2) ● A lot of ATK implementors to be updated ● ● Clutter ● LibreOffice ● Unity ● ● GTK Etc. AT-SPI2 would also require some changes
  • 30. GailEctomy ● Benjamin Otte and Matthias Clasen are merging GAIL and GTK ● First Benjamin conclusions about ATK were really more radical ;)
  • 31. Performance and stability ● Target: being able to have a11y running by default without affecting performance and stability ● Mike Gorse working on that, made some changes ● Require to measure the changes
  • 32. GNOME Shell ● Awesome built-in Magnifier ● ● by Joseph Scheuhammer On screen keyboard based on Caribou ● by Nohemi Fernandez GNOME 3.0 included some ATK patches ● ● Still not really usable with Orca ● Work in progress
  • 35. Current status ● An accessibility framework ● Bad: Not enough ATs or people ● ● Bus factor of one in several cases Good: GTK+ developers are taking care of GAIL ● What we need: improve the base, more ATs, more people