Skip to content

Implement basic accessibility service #4344

@jdm

Description

@jdm

We should build the infrastructure necessary to work with native accessibility services (eg. screenreaders). I imagine this being set up like the devtools; the code for communicating with the external service can exist in its own crate, with a channel per global to obtain information about the DOM and ARIA-related features. The sooner we do this basic plumbing, the harder it will be to screw it up down the road as Servo gets larger.

We can use Gecko's code as a reference here:
http://mxr.mozilla.org/mozilla-central/source/accessible/atk/Platform.cpp#124 (linux)
http://mxr.mozilla.org/mozilla-central/source/accessible/mac/mozAccessibleProtocol.h?force=1 (mac)
http://mxr.mozilla.org/mozilla-central/source/widget/cocoa/nsChildView.mm#6617 (mac)

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-accessibilityA-content/domInteracting with the DOM from web contentB-interesting-projectRepresents work that is expected to be interesting in some fashionE-very-complexVery difficult. Do not attempt without significant relevant experience and motivation.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions