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 690107 - Add support for STATE_READ_ONLY
Add support for STATE_READ_ONLY
Status: RESOLVED FIXED
Product: pyatspi2
Classification: Applications
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: pyatspi2 maintainer(s)
pyatspi2 maintainer(s)
Depends on: 665598 690004 690008
Blocks:
 
 
Reported: 2012-12-12 15:37 UTC by Joanmarie Diggs (IRC: joanie)
Modified: 2015-02-27 16:40 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch to add the new state (1.08 KB, patch)
2012-12-12 15:41 UTC, Joanmarie Diggs (IRC: joanie)
committed Details | Review

Description Joanmarie Diggs (IRC: joanie) 2012-12-12 15:37:07 UTC
+++ This bug was initially created as a clone of Bug #690008 +++
+++ 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-12 15:41:32 UTC
Created attachment 231386 [details] [review]
Patch to add the new state

(Depends on the ATK and AT-SPI2 patches.)
Comment 2 André Klapper 2013-08-14 10:08:06 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:24:44 UTC
Comment on attachment 231386 [details] [review]
Patch to add the new state

Looks good. Thanks.
Comment 4 Joanmarie Diggs (IRC: joanie) 2015-01-15 22:15:01 UTC
Comment on attachment 231386 [details] [review]
Patch to add the new state

https://git.gnome.org/browse/pyatspi2/commit/?id=e6863b8
Comment 5 Alejandro Piñeiro Iglesias (IRC: infapi00) 2015-01-16 15:44:05 UTC
(In reply to comment #4)
> (From update of attachment 231386 [details] [review])
> https://git.gnome.org/browse/pyatspi2/commit/?id=e6863b8

So the commit was done. Any reason to keep the bug open?
Comment 6 Joanmarie Diggs (IRC: joanie) 2015-01-16 18:39:34 UTC
My bad. I thought I had closed it.
Comment 7 André Klapper 2015-02-27 16:40:56 UTC
[Moving at-spi/pyatspi2 bugs to separate product. See bug 740075]