After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 720117 - Deprecate atk_role_register
Deprecate atk_role_register
Status: RESOLVED FIXED
Product: atk
Classification: Platform
Component: atk
unspecified
Other Linux
: Normal normal
: ---
Assigned To: ATK maintainer(s)
ATK maintainer(s)
Depends on:
Blocks: 720123
 
 
Reported: 2013-12-09 17:57 UTC by Alejandro Piñeiro Iglesias (IRC: infapi00)
Modified: 2013-12-09 19:02 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Alejandro Piñeiro Iglesias (IRC: infapi00) 2013-12-09 17:57:54 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.
Comment 1 Alejandro Piñeiro Iglesias (IRC: infapi00) 2013-12-09 18:14:04 UTC
Solved with commit:
https://git.gnome.org/browse/atk/commit/?id=d8d75d3e38e8532c36f8a5d9ebeca0518b1221e6


In short I will start to submit the equivalent atspi/pyatspi2 bugs.
Comment 2 Alejandro Piñeiro Iglesias (IRC: infapi00) 2013-12-09 19:02:19 UTC
(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.