Harlan Messinger said:
A fair question question. I do my best to answer it below.
Would it be fair to call the form element too waffly because it isn't
called <orderform> and restricted to uses involving the ordering of
merchandise? As I see it, the fact that none of the other structured
elements expresses a restricted purpose in that manner makes it unlikely
that in the case of this one element such a restriction of purpose was
either intended or desirable.
A form is what you fill in when you apply for things or give answers to
set questions. The purpose *is* general in this respect. Something meant
to be filled in and handed over or sent.
Restricting it to the ordering of merchandise would indeed be too
restrictive. Yes, I know, this is your point. But it does not say
anything at all about a free for all in what a form is. Forms are
already known in many walks of life for all sorts of things. That does
not mean they are *meant* for just some narrow things or for about
anything, however useful (eg, to be rolled up to shoo the cat away).
When teaching someone what a form is, I would have thought that there
would be central cases, paradigm cases. One might mention ordering
merchandise as an example, as well as many other things. But not the
possibility of using paper versions to scare cats away. There are some
things outside of what is reasonable to keep a good common understanding
of its meaning and purpose. What is in the centre is a matter of
judgement.
It seems rather odd to me for a definition list to be anywhere near a
question and answer. It simply is nothing to do with defining terms, as
simple as that. I don't like the idea when there are so many *perfectly
good* means to carry out this task. (Els gave one, JK gave variations, I
gave some, including a table)
We can go your way and seize on that data structure point. Data
structure is your way of seeing a two part structure that one can slot
in a pair of things like a question and an answer, or a more complicated
pair where the first item is an object like a question and the second is
a *set* of answers to the first item. But if you allow this to be the
main reason then you are risking a mindset that makes what would be a
terrifically meaningful element into something vague and less useful.
The idea of a definition list is to expand on something at the very
least. An answer to a question is not an expansion of any kind. It is a
different beast altogether.
Vague and less useful? Yes, less useful. It is very easy to suppose that
a word, for example, becomes more useful the wider its meaning. But I
trust you will see that this is simply not so. In the same way, if you
extend the idea of definition list to include all sorts of things
because of some inviting or tempting structure, then you empty the
element of meaning because it makes it harder for browsers to know how
to present them, how to read them out, how to braille them up. Meaning,
as far as a browser is concerned, *is* presentation and the narrower the
meaning, the easier to present it in a way that humans will recognise.
In all of these things, I reckon we need to keep an eye out for what is
good rather than what is black letter law in 'the specs'. Though,
interestingly, JK paints a picture of contradiction there. But I am nt
relying on that.
Btw, I have thought a little more on my previous suggestion about a list
of questions with sublists to each question for the answer and I am not
altogether happy with it, the answers are not sublists of the questions.
It took what I regard as this not altogether happy suggestion about
definition lists to make me realise my own mistake. I was too quick to
draw on data structure analogies. But I still stand by the div
version/list or table solutions.