W3C home > Mailing lists > Public > public-wai-ert@w3.org > June 2005

About tests 37-41 (headers)

From: Vicente Luque Centeno <vlc@it.uc3m.es>
Date: Tue, 7 Jun 2005 16:27:43 +0200 (CEST)
To: Chris Ridpath <chris.ridpath@utoronto.ca>
Cc: public-wai-ert@w3.org
Message-ID: <Pine.LNX.4.61.0506071616490.15397@violin.it.uc3m.es>

Hi,

Trying to formalize rules 37-41 at
http://www.w3.org/WAI/GL/WCAG20/tests/test37.html
http://www.w3.org/WAI/GL/WCAG20/tests/test38.html
http://www.w3.org/WAI/GL/WCAG20/tests/test39.html
http://www.w3.org/WAI/GL/WCAG20/tests/test40.html
http://www.w3.org/WAI/GL/WCAG20/tests/test41.html

for headers h1, h2, h3, h4, h5, and h6, I agree in the contents (anything
after h5 will be OK, ...), but not in the method they are written. The
error should not be found in the next header, but in the header itself.

For example:

* all h1 will always be OK, anywhere they are.

* Those h2 having no preceding h1 are an error: maybe they should be
h1. This is no a problem of a non existing h1. It is a problem of an
existing h2 that has no h1 before.

* And so on ...

I provided XQuery expressions for all these:

For h1:
()

For h2:
//h2[preceding::h1 = ()]

For h3:
//h3[let $h3:=self::h3 return
let $h2:=$h3/preceding::h2[1] return
let $h1:=$h3/preceding::h1[1] return
$h1=() or $h2=() or $h1>>$h2]

Which says that for every h3, there should be a prior h1 and h2 and that 
those should be in order (the h1 before the h2). Otherwise, the h3 is in 
error.

For h4:
//h4[let $h4:=self::h4 return
let $h3:=$h4/preceding::h3[1] return
let $h2:=$h4/preceding::h2[1] return
let $h1:=$h4/preceding::h1[1] return
$h1=() or $h2=() or $h3=() or $h1>>$h2 or $h2>>$h3]

For h5:
//h5[let $h5:=self::h5 return
let $h4:=$h5/preceding::h4[1] return
let $h3:=$h5/preceding::h3[1] return
let $h2:=$h5/preceding::h2[1] return
let $h1:=$h5/preceding::h1[1] return
$h1=() or $h2=() or $h3=() or $h4=()
or $h1>>$h2 or $h2>>$h3 or $h3>>$h4]

For h6:
//h6[let $h6:=self::h6 return
let $h5:=$h6/preceding::h5[1] return
let $h4:=$h6/preceding::h4[1] return
let $h3:=$h6/preceding::h3[1] return
let $h2:=$h6/preceding::h2[1] return
let $h1:=$h6/preceding::h1[1] return
$h1=() or $h2=() or $h3=() or $h4=() or $h5=() or
$h1>>$h2 or $h2>>$h3 or $h3>>$h4 or $h4>>$h5]

Comments?


Vicente Luque Centeno
Dep. Ingeniería Telemática
Universidad Carlos III de Madrid
http://www.it.uc3m.es/vlc
Received on Tuesday, 7 June 2005 14:27:45 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:18:25 GMT