7.11.2016, 18:11, Helmut Richter wrote:
> Well, HTML version HTML 2.0 (1995;
>
https://www.w3.org/MarkUp/html-spec/html-spec_toc.html) contains both
> "idiomatic" (about what is now sometimes called "semantic") and
> "typographic" elements -- and both kinds are still in HTML 5.
“Idiomatic” was an interesting choice of word, and so was “typographic”.
They should not be taken too seriously, and they never were.
> Phrase Markup
> Idiomatic Elements
> Citation: CITE
> Code: CODE
> Emphasis: EM
> Keyboard: KBD
> Sample: SAMP
> Strong Emphasis: STRONG
> Variable: VAR
> Typographic Elements
> Bold: B
> Italic: I
> Teletype: TT
> Anchor: A
Of these, TT does not exist in HTML5, except in the list of obsolete
elements. Other presentational or “typographic” markup elements were
retrofitted into the ideology of “semantic” markup, with
pseudo-scholastic treatises like this:
“The i element represents a span of text in an alternate voice or mood,
or otherwise offset from the normal prose in a manner indicating a
different quality of text, such as a taxonomic designation, a technical
term, an idiomatic phrase from another language, transliteration, a
thought, or a ship name in Western texts.”
The HTML 2.0 definition, “italic”, is a great improvement over that mess.
> At that time, you could choose whether you wanted something in italic
> for any reason, or if you wanted to emphasize something with an <em>
> element. Exactly the same as today
Yes, even today you can italicize using <i>, or you can imagine that
using <cite>, <em>, or <var> is “more semantic”, even though all of
these elements have very obscure definitions in HTML5 (and HTML 2.0
isn’t much better here).
> I do not see that much difference in philosophy. Then -- 20 years ago --
> as well as today, authors are encouraged to use a semantic element
And then, as well as today, a question like “what does it really matter”
is answered with babble that just repeats the “philosophy” more
obscurely. (I’m rather sure the resident troll cannot resist the
temptation to do that, repeating the babble he already wrote in this
thread.)
> Nevertheless, if there is an element in HTML which fits the semantics I
> wanted to specify anyway, I will use it instead of simulating it by a
> <div> or <span> element with a class attribute.
It’s really about structure, not semantics. And why would you use an
element when the only tangible effect is a change in rendering in a way
that you *don’t* want? Surely you can undo that effect, with the usual
CSS Caveats, with farely simple CSS, but why bother creating the
problem? For example, if your document contains address information
about the author of the document, do you use <address>, the “semantic”
element? The only thing you actually achieve is that the content appears
in italic, unless you prevent that with CSS. (I have great difficulties
in imagine a context where address information should be italicized. I
think they originally considered just e-mail addresses, for which it
might not be too bad – but pointless anyway.)
> There are other initiatives trying to design markup for *all* semantics
> in a set of documents by encouraging the extension of the markup, most
> prominently TEI (
tei-c.org). HTML never went in this direction.
HTML was never really something designed by documentation specialists.
Rather, it was a very simple markup language to be rendered by simple
software. (Simpler, for example, than RTF.)
> HTML could have done a better job by allowing authors private markup
> with no semantics at all but with the option of providing CSS for them,
> e.g. '<funny>abc def</funny>' (I guess it would even work now in many
> browsers but it is not standard-conformant).
It works well in any reasonably modern browser. If you need to worship
“standards” (there is actually a single *standard* on HTML, and
virtually nobody cares about it: the “ISO HTML”, which is just a
slightly complicated reformulation of HTML 4), then you can’t use that
approach. But it’s a risky business. It is unlikely that any future
“standard” defines the <funny> element, but you did not really think of
writing <funny>, were you? The more natural your tag name is, the more
probable it is that some people will define it in a future “standard”,
probably in a manner that is more or less incompatible with your ideas,
e.g. causing some funny default rendering you didn’t expect.
> The standard-conformant
> '<span class="funny">abc def</span>' is more cumbersome both to write
> and to read.
It really does not matter that much. HTML markup is pointlessly verbose
anyway (and obscure too, on the other hand); think about using
<blockquote> instead of <indent>. And the <span> element itself is named
poorly; it could equally well have been <a>, if it were not so that this
element name means, for hystorical reasons, something that <link> (which
in turn means something cryptic) should have been used for.
--
Yucca,
http://www.cs.tut.fi/~jkorpela/