GNOME Bugzilla – Bug 720117
Deprecate atk_role_register
Last modified: 2013-12-09 19:02:19 UTC
atk_role_register is a mechanism to allow applications to define custom roles. This is exposed to atspi as an EXTENDED. Although this is common to other accessibility framework specifications, like IA2, the experience has showed that applications registering custom roles are a bad idea. Modern accessibility specifications doesn't allow to do that. Roles add semantics and information, and their place is the accessibility specification. Because if you register a role on an application: * There is no proper documentation of the new role * ATs will don't know when an extended role will appear, so they need to add extra checks. * ATs need to guess about the meaning of the new role. Usually that means ask applications developers or checking source code, as applications usually don't document. Is basically a hack so applications can register an element that doesn't fit to a existing role, and then don't worry about asking to update the accessibility spec (so get under the carpet a new role). Fortunately, there aren't too many applications using this method, so the impact will be controlled. Creating a bug instead of just deprecating it in order to track this in the components that are using this procedure.
Solved with commit: https://git.gnome.org/browse/atk/commit/?id=d8d75d3e38e8532c36f8a5d9ebeca0518b1221e6 In short I will start to submit the equivalent atspi/pyatspi2 bugs.
(In reply to comment #0) > atk_role_register is a mechanism to allow applications to define custom roles. > This is exposed to atspi as an EXTENDED. Although this is common to other > accessibility framework specifications, like IA2, the experience has showed > that applications registering custom roles are a bad idea. Modern accessibility > specifications doesn't allow to do that. > > Roles add semantics and information, and their place is the accessibility > specification. Because if you register a role on an application: > * There is no proper documentation of the new role > * ATs will don't know when an extended role will appear, so they need to add > extra checks. > * ATs need to guess about the meaning of the new role. Usually that means ask > applications developers or checking source code, as applications usually don't > document. Another reason: extended roles doesn't have a way to provide localized names. So in some sense, extended roles are second-class citizens compared to usual roles. They lack proper documentation and localization.