a11y support for unity
This blueprint documents the requirements and work items for adding a11y support to Unity.
Blueprint information
- Status:
- Not started
- Approver:
- David Barth
- Priority:
- High
- Drafter:
- Canonical Desktop Experience Team
- Direction:
- Needs approval
- Assignee:
- Luke Yelavich
- Definition:
- Review
- Series goal:
- Accepted for natty
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
Related branches
Related bugs
Bug #580295: Unity: Alt-F2 not working | Fix Released |
Bug #701543: add cursor-key navigation to quicklists | Fix Released |
Bug #701546: Add cursor-key navigation to launcher | Fix Released |
Bug #701663: Add keyboard shortcut for the panel | Fix Released |
Bug #701667: Integrate an ATK bridge into Unity | Fix Released |
Bug #701672: Expose or add missing nux functions for a11y support | Fix Released |
Bug #706713: Super key should open Dash | Fix Released |
Bug #772573: [a11y] Unity launcher buttons are not Actionable | Fix Released |
Whiteboard
Work items (natty-alpha-1):
Work items (natty-alpha-2):
[themuso] Discuss and determine appropriate shortcut keys for jumping to the launcher and indicators: DONE
[apinheiro] atk bridge loader: DONE
Work items (natty-alpha-3):
[charlinepoirier] Discuss user testing and personas: POSTPONED
[apinheiro] atk-unity module: DONE
[apinheiro] nux atk updated: DONE
[apinheiro] launcher atk integration: DONE
[rodrigo-moya] panel atk fixes: DONE
Work items (ubuntu-
[apinheiro] add unit tests related to atk under unity/test directory: POSTPONED
[rodrigo-moya] add unit tests related to atk under unity/test directory: POSTPONED
[themuso] Propose launcher a11y design to present list of available apps, as well as running/window open state: POSTPONED
[themuso] Discuss and draft test plan with accessibility team, to allow everyone to test key functionality once code lands: POSTPONED
Work items (ubuntu-
[themuso] Default to classic GNOME for some a11y profiles: DONE
[apinheiro] places atk integration: POSTPONED
11/01/11 (dbarth): work items turned into milestoned bugs
27/10/10 (TheMuso): I think we need to reconsider whether we use libatk or talk directly via dbus, in light of what I have discovered about atk this evening.
It turns out that libatk works in 2 parts, communicating via a unix socket. The library side, which is normally called/linked by GTK, sends information over this socket about widgets, events/
We could copy this code, and use it ourselves, but we would have to check for dbus API updates/update this code from the at-spi2 GTK module code, whenever a dbus API change is made.
2010-10-02 (TheMuso): Its also worth noting that there are atk C++ bindings available in the atkmm package upstream. This package is not yet in Ubuntu, but it could be used for interfacing with libatk.
2011-01-04 (API): I have just uploaded a unity branch (see related branch sections) that load the atk-bridge, and it works fine. But the current AtkUtil and root object are dummy ones, doesn't expose any information from Unity. It was just a test to load the bridge (and equivalen to this bug https:/
BTW, I would be good to refine TheMuso explanation about how ATK works. This unix socket, AFAIK, is part of the comunication protocol, and part of the underlying layers (CORBA or DBUS). ATK or its implementation itself doesn't bother about it.
I tested it using at-spi2 that export the atk-bridge location as a gsettings. It would be good to know which version will include Natty, as if in the end it uses at-spi, it would be required to ask this change also on at-spi
About the atkmm, sincerely, I don't see any advantage using them. For the moment I would work using directly atk (and BTW, the little gtk tips on unity doesn't use gtkmm either). Anyway, we can debate that and change this in the future.
2011-03-28 (pitti): Postponing the remaining items to oneiric. Too late for Natty now, we'll use the fallback to switch to classic GNOME for some a11y profiles (TheMuso)