[g-a-devel]Accessibility support in Glade
- From: Damon Chaplin <damon ximian com>
- To: gnome-accessibility-devel gnome org
- Subject: [g-a-devel]Accessibility support in Glade
- Date: 11 Mar 2002 12:28:42 -0500
Hi,
I'm about to add a11y support to Glade, based on the libglade DTD.
A few questions:
ATK Properties
--------------
o The libglade DTD has:
<!ELEMENT atkproperty (#PCDATA | accessibility)* >
so it looks like ATK properties can contain other ATK properties,
actions, and relations. What is this used for? What would the
atkproperty name be?
The libglade parser seems to accept these, but it doesn't seem to
keep the hierarchy. All the child properties/actions/relations seem
to get folded into one list.
Does it matter if Glade doesn't preserve the hierarchy?
(Glade uses the libglade parsing code as well.)
o The libglade parser seems to look for a translatable attribute on ATK
properties. Should we add this to the DTD? The atkaction description
should probably also have a translatable attribute.
We could say that all ATK properties and action descriptions are
translatable, so the attribute is not necessary, but intltool would
need updating to handle that.
o I think the only ATK properties we need to handle are:
AtkObject::accessible-name
AtkObject::accessible-description
Are there any others?
Do we have to add the above to properties to every widget?
ATK Relations
-------------
o Is there a way of programmatically determining which relation types
are relevant to which widgets?
If not, is there a list of which types are relevant to which widgets?
It looks like some relations are automatically created by GAIL
itself, e.g. "member-of" is automatically handled for radiobutton
groups. So Glade doesn't need to support those.
Glade GUI
---------
I think I'll add a new page to the property editor for a11y.
(I think I'll use an icon in the notebook tab as we don't have much room
for text, especially 'Accessibility'!.)
At the top we'll have the 2 ATK properties, a string property for
'Name:' and a text property for 'Description:', i.e.
Name: _____________________________
Description: _____________________________
_____________________________
Below that will be text properties for descriptions for each of the
actions that the widget supports. e.g. for a button it will show:
click: _____________________________
_____________________________
press: _____________________________
_____________________________
release: _____________________________
_____________________________
(Note that the action names are not translated, so they aren't
i18n-friendly. But I could hard-code translation support for them.)
Finally, if we can determine which relations are relevant to each type
of widget (maybe hard-coding them), we'll show properties for each
relation here, e.g.
controlled-by: widget1,widget2_________[...]
label-for: button1_________________[...]
The text fields won't be editable.
The buttons on the right will pop up a dialog containing a list of all
widgets in the window/dialog with checkboxes next to them, so the user
can select one or more widgets easily. (I hope relations can only be
between widgets within one window.)
The only thing left to add is support for <atkproperty> elements with
child <accessibility> elements. But I don't know what that is used for
yet.
Damon
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]