form control to model association - defaulting?

[This is a personal comment, not a group comment.]

In the current language of the XForms specification it is allowed to leave the 'model' attribute of a form control un-stated in the XML text of the control and the control will be associated with the textually-first model appearing in the enclosing host document.

This rule saves characters, and it is particularly appealing in the context of a document with a single form (only one model element).

On the other hand, this is the sort of thing that can prove brittle in use.  One can expect error in the use of something this subtle.  It could be safer to allow defaulting only in the case where there is a unique model in the appropriate scope.

In addition, the defaulting may perhaps dump just enough burden on assistive technology so that useful assistive functions don't get performed.

In the development of the User Agent Accessibility Guidelines, the group came to a consensus in support of the idea that people in some disability-related delivery contexts; such as people using speech and not braille as the output of their screen readers, easily get confused about the scopes of forms.  This confusion can include not grasping what is to be submitted by a 'submit' element or reset by a 'reset' element.  In legacy HTML the enclosing FORM element makes the scope clear in a way that an assistive technology can readily pick up, say from the DOM.  

Related assistive functions could be things such as to move to the start of the current FORM, to the end, to clear it, or to tour just the controls within it for a review of the state of affairs -- what in the new edition is the state of the "instance."

Now, with the defaulting rules in place the logical definition of the XForms aspect of a document instance does define a unique 'model' element governing each form control.  But some of the associations may be explicit and some implicit.  The most likely DOM content will be to capture only the things that are explicit.  So an assistive technology wishing to add "review current form" capability will have to reconstruct the control-to-model associations wherever they are defaulted.  This takes a full tree-walk to find all the model and form control elements.  This could be done on the order of once per load by a DOM service routine, but it is enough of a chore so that it could be the straw that broke the camel's back, the burden that kept the assistive technology from implementing this function.

Another angle is that defaulting should perhaps be a host language option.  The correct functioning of the form only requires that the effective governing model is known.  If all such references are explicit, the form works.  If the language provides defaulting that is well-posed that is to say deterministic, it also works.  The rule of the textually first model in the enclosing document may not be a good one in all contexts.  At least in real-time streaming contexts it may be undesirable.  So this is an area where it is questionable whether the XForms resouce module should define the defaulting.  Just that host languages should either require the 'model' attribute to be always present, or define suitable defaulting.

Please consider this before going forward with the current defaulting policy.

Al

Received on Friday, 22 February 2002 20:00:54 UTC