- From: Jonny Axelsson <jonny@opera.com>
- Date: Wed, 11 Jul 2001 18:37:19 +0200
- To: Terje Bless <link@tss.no>, Steven Pemberton <steven.pemberton@cwi.nl>
- CC: Eric Meyer <emeyer@netscape.com>, beppe@netscape.com, HTML WG <w3c-html-wg@w3.org>, www-validator@w3.org
11.07.01 17:22:06, Terje Bless <link@tss.no> wrote:
>This strikes me as pure sillyness; a convoluted mess of interacting rules
>from different parts of the prose that result in a completely illogical set
>of legal combinations. Valid HTML that is labelled Invalid by the Validator
>is a Very Very Bad Thing.
I remember this from my time as an author when I considered this a
lose/lose. I had to take care of case sensitivity for my links, but I
couldn't make mnemonic two-way links, e.g.
Main text, here comes a footnote [<a name="foot1" href="#FOOT1">1</a>].
----
[<a name="FOOT1" href="#foot1">1</a>] Footnote 1: ...
If I recall correctly, the reason for the fudge was that IE was case
insensitive and NN was case sensitive. That was several years ago, so I made
an impromptu test for the current state of three browsers (below). Test
results:
Test 1 (duplicate ids): Opera chooses the last id of the bunch, Moz and IE
the first. It is undefined, so both options are reasonable, as is not
chosing any at all.
Test 2 (idref case error): Neither Opera nor Moz choose id="three" when
href="#THREE", IE does and that is wrong (in HTML 4.01 too).
Test 3: All do the same (if for different reasons in the case of IE).
Test 4: Opera and Moz go to id="ONE" with href="#ONE", IE goes to id="one".
I haven't checked whether IE6 in "standards compliant mode" does any better.
Jonny Axelsson
Documentation,
Opera software
----------------------
<html>
<head>
<title>The current id case case</title>
<style type="text/css">
div {
height: 300px;
background: #efe;
padding: 1em;
margin: 1em;
border: 2px solid #060;
font: 12px/16px sans-serif;
}
code{
display: block;
font: 20px/40px bold monospace;
}
td, th {
background: #fff;
}
</style>
</head>
<body>
<h1>Case sensitivity and id, tests</h1>
<div>This tests current case-sensitivity on different browsers. This table
lists
result for the link targets for three browsers (href <target>).
<table>
<tr>
<th>Test</th>
<th>Opera 5.12</th>
<th>Mozilla 0.9.2</th>
<th>IE 5.5</th>
</tr>
<tr>
<th>Test 1</th>
<td>Second "two"</td>
<td>First "two"</td>
<td>First "two"</td>
</tr>
<tr>
<th>Test 2</th>
<td>nowhere</td>
<td>nowhere</td>
<td>"three"</td>
</tr>
<tr>
<th>Test 3</th>
<td>"one"</td>
<td>"one"</td>
<td>"one"</td>
</tr>
<tr>
<th>Test 4</th>
<td>"ONE"</td>
<td>"ONE"</td>
<td>"one"</td>
</tr>
</table>
</div>
<div id="one"><p><code>TEST 1: id="one" (href <a href="#two">two</a>)</code>
This id
differ from the next by case. Link to duplicate.</p></div>
<div id="ONE"><p><code>TEST 2: id="ONE" (href <a
href="#THREE">THREE</a>)</code>This id differ from the previous by case.
Broken link to id, but same case intransitively.</p></div>
<div id="two"><p><code>TEST 3: id="two" (href <a
href="#one">one</a>)</code>This and the next id identical.</p></div>
<div id="two"><p><code>TEST 4: id="two" (href <a
href="#ONE">ONE</a>)</code></p></div>
<div id="three"><p><code>id="three"</code></p></div>
<div id="four"><p><code>id="four"</code></p></div>
</body>
</html>
Received on Wednesday, 11 July 2001 12:35:44 UTC