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 132745 - Add accessibility implementation for private GtkHSV widget
Add accessibility implementation for private GtkHSV widget
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: Other
2.3.x
Other Solaris
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
AP3
Depends on:
Blocks: 118339
 
 
Reported: 2004-01-28 10:08 UTC by padraig.obriain
Modified: 2011-02-04 16:16 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
snapshot of at-poke hierarchy for SwingSet2 color chooser for comparison (81.77 KB, image/png)
2004-03-11 12:38 UTC, bill.haneman
  Details
Proposed patch (2.60 KB, patch)
2004-03-22 15:28 UTC, padraig.obriain
accepted-commit_now Details | Review

Description padraig.obriain 2004-01-28 10:08:20 UTC
When GtkColorSelctionDialog is activated the focus is on a GtkHSV widget.

Accessibility code cannot recognize it a GtkHSV widget as the include file
gtkhsv.h is not installed so gnopernicus can only report that an unknown
object has focus.
Comment 1 padraig.obriain 2004-01-28 13:31:38 UTC
In addition, when focus is moved to or from ring it is not possible to
emit any notification.
Comment 2 Owen Taylor 2004-01-28 22:13:29 UTC
gtkhsv.h will not be installed, and we need the freedom
to use non-public widget classes in composite widgets.

So, you can propose how we would fix this without doing that?
Comment 3 padraig.obriain 2004-01-29 15:48:19 UTC
I cannot do it in gail if I do not access to gtkhsv.h file. The only
other option would be to add the accessibility support to gtkhsv.c
file.
Comment 4 Matthias Clasen 2004-02-02 11:57:44 UTC
One proposal in bug 112479 to improve the keynavigatability of the 
color selection dialog was to put the initial focus not on the gtkhsv, 
but on the color name field.
Comment 5 Matthias Clasen 2004-02-21 08:21:29 UTC
I just had a look and noticed that while we do not install the gtkhsv
header, the symbols *are* exported, so you should simply use a
gail-private copy of the header, if you're willing to take the small
risk that GtkHSV may change incompatibly.
Comment 6 Owen Taylor 2004-02-24 23:47:25 UTC
If possible, I think the solution we would like to take here
is to put any accessibility implementation needed for GtkHSV
into GTK+ itself.

Comment 7 Matthias Clasen 2004-03-10 23:32:39 UTC
Here is a discussion I had with Bill about the implementation:


<maclas> billh: nice to see you're back...today I wondered which
accessible interface gtkhsv (the color wheel) should support?
<maclas> billh: AtkValue is only for single numerical values, it
seems, and the color wheels controls three values at the same time...
<billh> maclas: sounds like three AtkValues then.
<billh> maclas: there's no rule that every GtkWidget must reduce to
only one AtkObject... 
<maclas> billh: so the accessible of a widget can actually be a
collection?
<billh> maclas: there are several options.  could be a collection
(probably most reasonable in this case)
* billh tries the colorwheel again
<maclas> billh: what does the Java color selector do ?
<billh> maclas: want to talk in another channel? hash out the
possibilities?
* billh isn't sure
<maclas> billh: its not as if I actually wanted to work on this, I was
just curious...
<billh> maclas: good thought though - prolly should be as consistent
as reasonably possible.
* billh runs SwingSet2
<billh> oh funky, the Java splash screen is transparent on the
freedesktop.org xserver!
<billh> maclas: heh heh, the SwingSet2 color chooser looks _exactly_
like the gtk+ one!
<billh> maclas: predates it though ;-)
<andersca> billh: actually, it looks different if you use the motif
look and feel
<billh> maclas: cop-out :-) the java color chooser triangle widget is
just an inert panel :-)
<billh> andersca: ah.  yes.
<maclas> billh: thats cheap
<billh> maclas: but I think the easy solution is to implement AtkValue
on the H, S, V and R, G, B controllers, and set the
CONTROLLER_FOR/CONTROLLED_BY relations on the HSV widget.
<billh> maclas: but yeah, cheap.
<maclas> billh: may be good to put that in the relevant bug, what's
its number ?
<billh> maclas: so the HSV etc combos are complex, they implement
AtkText, AtkValue, and AtkComponent, with the AtkRelations.
<maclas> billh: aren't they just regular spinbuttons, a11y-wise ?
<billh> maclas: I guess, lemme see
<billh> maclas: actually the SwingSet color picker is bad -
inaccessible IMO - or maybe java-access-bridge for GNOME is busted -
you can't see the spinbuttons in the hierarchy.
<maclas> billh: the relevant bug is #132745; I'll put your comment there
<billh> maclas: thx.  I think the main prio is making sure the
spinbuttons work well, implement AtkValue, and point to the HSV widget
as CONTROLLERS.  that's 90% of the way there IMO.
<billh> maclas: feel free to insert this IRC log.
Comment 8 padraig.obriain 2004-03-11 09:47:11 UTC
I want to make sure I undersant what is being proposed here:

The accessible object for the HSV should have 6 CONTROLLED_BY
relations specifying the accessible object for R,G,B,H,S,V
spin-buttons. 

The accessible object for the spin-buttons should have a
CONTROLLER_FOR relation specifying the accessible object for the HSV
widget.

It looks to me that gtkcolorsel.c is the logical place to set these
relations.

Currently the accessible object for HSV widget has a null accessible
name and an accessible role of UNKNOWN. I think we need to set an
accessible name. e.g. "Color Wheel". I do not a better role than
unknown. I think that setting the accessible name could also be done
in gtkcolorsel.c.

If this is acceptable. I can produce a patch.
Comment 9 bill.haneman 2004-03-11 12:37:18 UTC
Sounds good to me padraig - I wonder where ROLE_COLOR_CHOOSER should
be used in this hierarchy (rather than for the dialog, as the ATK docs
state)?  I attach the at-poke hierarchy for the SwingSet2 color
chooser dialog.
Comment 10 bill.haneman 2004-03-11 12:38:26 UTC
Created attachment 25514 [details]
snapshot of at-poke hierarchy for SwingSet2 color chooser for comparison
Comment 11 padraig.obriain 2004-03-22 15:28:38 UTC
Created attachment 25876 [details] [review]
Proposed patch
Comment 12 Matthias Clasen 2004-04-13 20:26:22 UTC
Comment on attachment 25876 [details] [review]
Proposed patch

Padraig, feel free to go ahead and commit the patch.
Don't forget to mail gnome-i18n about the string addition, though.
Comment 13 padraig.obriain 2004-04-14 08:20:13 UTC
Should I commit the change without the translated string now and only translate
the string after branch for GTK 2.6?
Comment 14 Matthias Clasen 2004-04-14 21:08:45 UTC
I just went ahead and committed the patch.