← Prev in month ← Prev in thread
Next in thread → Next in month →

Groupings in form controls

From
Richard Schwerdtfeger <>
Date
2008-11-24T16:10:59+00:00
ID
Thread
Groupings in form controls
The ODF Accessibility SC has been concerned about the overloaded use of form:name to define groups in ODF form elements. In particular our problem is with radio button their grouping.

The definition of the form:name element in ODF defines no semantics other than to state that it is a form name. Furthermore, in section 18.500 there is concern that form:name duplicates xml:id - consequently creating two unique ids for the same control. 

This creates additional problems for labelling in that a label is not used to reference a grouping. Rather ODF allows naming of individual form controls consequently it is easy to get the labelling out of synch with what is being grouped. 

<form:form form:name="Standard" >

  <form:fixed-text form:name="LabelField1" form:for="control3,control4" form:id="control1" form:label="LABEL 1" />

  <form:fixed-text form:name="LabelField2" form:for="control5,control6" form:id="control2" form:label="LABEL 2" />

  <form:radio form:name="RadioGroup1" form:id="control3" form:label="Grp1-1" > </form:radio>

  <form:radio form:name="RadioGroup2" form:id="control4" form:label="Grp1-2" > </form:radio>

  <form:radio form:name="RadioGroup1" form:id="control5" form:label="Grp2-A" > </form:radio>

  <form:radio form:name="RadioGroup2" form:id="control6" form:label="Grp2-B" > </form:radio>

</form:form>

Although he accessibility SC requirements have not been submitted yet we felt it necessary for the TC to consider adding the equivalent of the XForms:group element rather than relying on the form:name property to define the grouping.

http://www.w3.org/TR/2007/REC-xforms-20071029/#ui-group-module

This defines the grouping declaratively rather than the approach currently employed by ODF today. 

<form:form form:name="Standard" >

  <form:fixed-text form:name="LabelField1" form:for="grp1" form:id="control1" form:label="LABEL 1" />

  <form:fixed-text form:name="LabelField2" form:for="grp2" form:id="control2" form:label="LABEL 2" />

  <xforms:group id="grp1">

     <form:radio form:name="whocares1" form:id="control3" form:label="radio1" > </form:radio>

     <form:radio form:name="whocares2" form:id="control5" form:label="radio2" > </form:radio>

  </xforms:group>

  <xforms:group id:grp2>

   <form:radio form:name="whocares3" form:id="control4" form:label="radio3" > </form:radio>  

   <form:radio form:name="whocares4" form:id="control6" form:label="radio4" > </form:radio>

  </xforms:group>

</form:form>

This does not imply that the grouping must rendered in the order that they appear in the DOM.

 

Rich Schwerdtfeger

Distinguished Engineer, SWG Accessibility Architect/Strategist

blog: http://www.ibm.com/developerworks/blogs/page/schwer
← Prev in month ← Prev in thread
Next in thread → Next in month →