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 690008 - Add support for ATSPI_STATE_READ_ONLY/ATK_STATE_READ_ONLY
Add support for ATSPI_STATE_READ_ONLY/ATK_STATE_READ_ONLY
Status: RESOLVED FIXED
Product: at-spi
Classification: Platform
Component: at-spi2-atk
unspecified
Other Linux
: Normal normal
: ---
Assigned To: At-spi maintainer(s)
At-spi maintainer(s)
Depends on: 665598 690004
Blocks: 690107
 
 
Reported: 2012-12-10 20:22 UTC by Joanmarie Diggs (IRC: joanie)
Modified: 2015-01-15 22:27 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch to add the new state (939 bytes, patch)
2012-12-10 20:26 UTC, Joanmarie Diggs (IRC: joanie)
committed Details | Review

Description Joanmarie Diggs (IRC: joanie) 2012-12-10 20:22:10 UTC
+++ This bug was initially created as a clone of Bug #690004 +++

+++ This bug was initially created as a clone of Bug #665598 +++

The definition of ATSPI_STATE_EDITABLE is: "Indicates the user can change the contents of this object." This clearly addresses text widgets. However, whether or not it also applies to widgets which:

* are enabled
* are sensitive
* are focusable
* have a usually-changeable state
* presently lack the ability to change the state

Consider, for example, cb4 on this page [1]. The checkbox is for all intents
and purposes a normal checkbox, however the user is prevented from changing its
state.

If we agree that 'state' != 'contents', then ATSPI_STATE_EDITABLE (or the lack
thereof) would not be a means to communicate the present read-only condition of
this checkbox (and other widgets like it). In this case, a new ATK state would
be needed.

If, on the other hand, the conclusion is that 'state' == 'contents', then every
widget whose contents (including state) could be altered by the user would need
to have ATSPI_STATE_EDITABLE added to it. This would involve quite a few widgets
and multiple toolkits: quite a lot of work given how rare things like the
read-only dojo checkbox happen to be. Therefore, a new ATSPI state would be
preferable.

For this reason, I am proposing the creation of ATSPI_STATE_READ_ONLY.

The addition of this state would raise the question of what to do about
read-only text widgets. Should STATE_EDITABLE be removed and
ATSPI_STATE_READ_ONLY be added? Or something else? I personally think this is
less of a concern. But FWIW, we could deprecate STATE_EDITABLE and make the new
read-only state apply to all widgets.

[1] http://archive.dojotoolkit.org/nightly/dojotoolkit/dijit/tests/form/test_CheckBox.html
Comment 1 Joanmarie Diggs (IRC: joanie) 2012-12-10 20:26:30 UTC
Created attachment 231214 [details] [review]
Patch to add the new state

Adds the new state; doesn't do anything w.r.t. STATE_EDITABLE as its fate seems
somewhat uncertain at the moment. (This patch depends on the patches for bug
665598 and bug 690004 being committed. And the minimum versions for the ATK and at-spi2-core dependencies should be bumped -- once we know what that version is.)
Comment 2 André Klapper 2013-08-14 10:03:32 UTC
[Mass-resetting default assignee, see bug 705890. Please reclaim this bug report by setting the assignee to yourself if you still plan to work on this. Thanks!]
Comment 3 Mike Gorse 2014-12-08 21:29:14 UTC
Comment on attachment 231214 [details] [review]
Patch to add the new state

The atk required version should be bumped again, but it hasn't been bumped in atk yet. Feel free to adjust the atk and at-spi version requirements after the version bump and commit.
Comment 4 Joanmarie Diggs (IRC: joanie) 2015-01-15 22:26:29 UTC
Comment on attachment 231214 [details] [review]
Patch to add the new state

https://git.gnome.org/browse/at-spi2-atk/commit/?id=61ae28d2