E-mail List Archives

Re: HTML Strike vs CSS Strike

for

From: Jukka K. Korpela
Date: Mar 29, 2003 2:01AM


On Fri, 28 Mar 2003, Holly Marie wrote:

> [1] What type of device support is there for the CSS - text-decoration:
> strike;
[actually text-decoration: line-through]

This value is defined in the CSS 2 specification as follows:
"Each line of text has a line through the middle"
The text-decoration property is relevant to visual rendering, and there
are limitations even in visual presentation. For example, the blink value
is currently not implementable in print media. (When the specification
says that "Conforming user agents are not required to support this value",
it says more than just the obvious: it says that conforming browsers need
not implement text-decoration: blink even in circumstances where it would
be technically possible.)

In particular, text-decoration: line-through needs to be ignored in
browsers that use a single font without graphics ("character cell
browsers") such as Lynx.

> [2] What happens for users that have stylesheets turned off?
> [a] won't it be rather confusing if they see a sentence....
>
> Make sure you go to the *north* west entrance of the building.

It would be inappropriate to use CSS as the only means of indicating words
as deleted. The same applies in principle to <strike> markup in HTML. To
indicate deletion, the logical markup <del> should be used, in theory. But
just in theory. This markup is little else than the <strike> markup in
disguise. What other reasons anyone could have to strike out text than to
indicate it as deleted? If there were a reason, would the message be
understood? Besides, <del> has less support that <strike>.

Incidentally, the Lynx browser implements both <del>foo</del> and
<strike>foo</strike> as [DEL: foo :DEL], trying to convey the idea of
deletion using a markup-like notation of its own. If you ask me, it would
be better to display HTML markup literally. And mapping del and strike to
the same presentation, which suggests the notion of deletion, is not
correct at all in principle, though we can't argue with the implicit idea
that authors really mean 'deleted' when they write <strike>.

> perhaps the idea is not to ever use Strike, and if that is the case, why
> is it included or remaining inside stylesheets?

Why is text-decoration: blink there? It seems that the idea is to take the
burden of supporting old and poor habits of authoring just in order to be
able to say to authors that they can do anything in CSS that they used to
do in HTML (even including proprietary markup like <blink>!). Need I say
what I think about this?

> Maybe the HTML model should be used instead of the presenational model,
> if it has to be used?

At present, there is no markup that you could use to indicate changes in
any reliable way, except for mere insertions such as new material added.
(And even for that only if it is not necessary to indicate it as inserted,
since <ins> is not consistently supported, and even then probably with a
style sheet rule that tries to make the rendering better. Internet
Explorer uses underlining for <ins>, and this tends to create confusion
with links. It's probably best to use CSS to remove the underlining and
to add a colored dashed bottom border, or something.)

There's a serious argument against <del>, <strike>, and text-decoration:
line-through especially in situations where the "work": the line through
feature very often has the effect of making the text almost impossible or
very difficult to read. Besides, although the line through probably
conveys the idea of deletion to most people, many of us will be puzzled by
the question what this really means. Is the user expected to read, or to
be able to read, what has been deleted? If it has been deleted, why is it
there at all?

--
Jukka "Yucca" Korpela, http://www.cs.tut.fi/~jkorpela/


----
To subscribe, unsubscribe, or view list archives,
visit http://www.webaim.org/discussion/