[...]
>> Sure, you could display this with a <DL>, but then imagine the plight of
>> a blind person, using a screen reader when faced with the statement:
>> "The definition of 'difficulty' is 'moderate'"
[...]
> Is that what actually happens, or is this a "thought experiment"?
As far as I know, it is speculation on what could happen. I have
presented such speculations myself, usually trying to be clear about
their hypothetical nature.
But speculations can be turned to reality. Some time ago, I wrote a
"semantic style sheet", intended to express the semantics of HTML
elements as defined in specifications, and little else. Demo:
http://www.cs.tut.fi/~jkorpela/styles/semantic-test.html
The style sheet uses generated content to add a symbol for "is by
definition equal to", but generated content could easilybe used to turn
<dt>difficulty<dd>moderate to "The definition of 'difficulty' is 'moderate'"
> Do they [screen readers]
> really interpret HTML tags semantically?
Not really. As a converted pragmatist, I found this "semantic" talk
rather dull. First, "semantic HTML" is something that could have been
created in the 1990s but wasn't; and it's too late now. Second, it was
never much about semantics, it was about relationships. The definition
of "difficulty", for example is a semantic question. But defining a <dl>
element as a set of term/definition pairs is structural rather than
semantic.
> I quote from Section 4 of the above:
> "The HTML list elements DL, UL, and OL should only be used to create
> lists, not for formatting effects such as indentation."
Oh really? And yet, the HTML 4.01 specification itself uses, in its
table of content, <ul> when they find it comfortable (they want bullets,
not numbers), at some level of nesting lists, see
http://www.cs.tut.fi/~jkorpela/html/ul-ol.html#demo
> But what is and is not a list?
Whatever you call a list. Anything can be seen as a list, as a one-item
list if necessary. It's funny how often authors set up a list of links
as <ul> and then take much trouble in removing all the default
formatting they introduced that way. And if someone dares to do
otherwise, he will get crucified on "semantic grounds".
> On reflection, I'd argue that
> HTML tags are simply structural patterns inviting flexible use, and that
> a DL is simply a structure which provides an association between pairs
It's not quite that simple. Even we pragmatists make a note of actual
effects of markup beyond that. First, many HTML elements imply some
default rendering. If that's a suitable starting point and at least
tolerable fallback in non-CSS rendering, go for it. Second, some
elements have functional implications. Form fields take input, headings
are taken seriously by search engines, and tables have accessibility
features at least in some modern software. So the Pragmatist's Manifesto
is really saying: take *real* implications seriously, but ignore
speculation, for the most of it:
http://www.cs.tut.fi/~jkorpela/pragmatic-html.html8
> Personally, I've found myself gravitating to a view which distinguishes
> three independent considerations: structure, formatting, and semantics.
> Structure is the domain of HTML, but I see it (YMMV) as rightly
> semantic-free.
Almost completely, yes. There are some semantic features in metadata,
though. Mostly misunderstood, but still.
Using HTML elements could be compared to using "styles" in MS Word. You
pick up, say, "heading 2" (like you use <h2>), then perhaps later
consider tweaking the definitions of the style (like writing a CSS rule
with h2 as the selector), and at times you set up a new style (like you
might use an element with class attribute in HTML).
--
Yucca,
http://www.cs.tut.fi/~jkorpela/