GNOME Bugzilla – Bug 690008
Add support for ATSPI_STATE_READ_ONLY/ATK_STATE_READ_ONLY
Last modified: 2015-01-15 22:27:39 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
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.)
[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 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 on attachment 231214 [details] [review] Patch to add the new state https://git.gnome.org/browse/at-spi2-atk/commit/?id=61ae28d2