Re: extension of Glade DTD to support accessibility



Hi all:

I recently saw that the glade-2.0 dtd from libglade HEAD includes 
initial support for accessibility properties.  I attach (inline) a patch 
that I believe will extend this to provide the level of accessibility 
support which we need for Gnome 2.0.

A couple of notes:  you will note that the dtd is not strongly-typed 
(that is, we are not specifying accessibility properties as named 
attributes of an accessibility element).  This is in keeping with 
glade's current way of specifying properties, and allows extension 
without requiring changes to the dtd.  I heard some mention of eventual 
rewriting of the glade dtd, but this is probably further down the road.

Also:  note that the <accessibility> element has <atkproperty> children 
rather than <property> children:  this is because some atk properties 
are themselves atkobjects, and thus can't easily be specified using 
#CDATA.  Also <atkaction> and <atkrelation> are subelements and not 
properties, since there may be multiple instances of <atkaction> and 
<atkrelation> associated with an <accessibility> element.  

Once we agree on the dtd specification for accessibility, in order to 
make use of these properties libglade will need to be extended a bit 
(after the GTK+-2.0 port) to apply them to generated widgets, using the 
new ATK API.

Comments are welcome...

Best regards,

Bill

--- diff follows ---


Index: glade-2.0.dtd
===================================================================
RCS file: /cvs/gnome/libglade/glade-2.0.dtd,v
retrieving revision 1.3
diff -u -r1.3 glade-2.0.dtd
--- glade-2.0.dtd       2001/05/14 23:59:50     1.3
+++ glade-2.0.dtd       2001/06/05 13:35:20
@@ -24,7 +24,24 @@
   name CDATA #REQUIRED
   type CDATA #IMPLIED >
 
-<!ELEMENT accessibility (property*) >
+<!-- atkproperty allows accessibility element child, since some 
accessibility
+     properties of widgets are themselves "accessible" objects. -->
+<!ELEMENT atkproperty (accessibility | #PCDATA)? >
+<!ATTLIST atkproperty
+  name CDATA #REQUIRED
+  type CDATA #IMPLIED >
+
+<!ELEMENT atkrelation >
+<!ATTLIST atkrelation
+  target CDATA #REQUIRED
+  type CDATA #REQUIRED >
+
+<!ELEMENT atkaction >
+<!ATTLIST atkaction
+  name CDATA #REQUIRED
+  description CDATA #IMPLIED >
+
+<!ELEMENT accessibility (atkrelation | atkaction | atkproperty)* >
 
 <!ELEMENT signal EMPTY >
 <!ATTLIST signal


--- end diff ----


------
Bill Haneman x19279
Gnome Accessibility / Batik SVG Toolkit
Sun Microsystems Ireland 





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]