WebAIM - Web Accessibility In Mind

E-mail List Archives

Re: A case for artifacting bullets in unordered lists in PDFs

for

From: Olaf Drümmer
Date: Jul 23, 2013 3:10PM


Hi Jonathan,

>>
>> - PDF and PDF/UA require that such bullet character is put inside a <Lbl>
>> tag
>
> The problem is, PDF 1.7 never explicitly states that a <Lbl> tag is
> mandatory.

PDF 1.7 describes syntax and how to use it for a certain purpose. It very clearly states that something that is a 'label' (bullet, number for a list item, term to be defined for a dictionary list, …) is put inside a Lbl tag.

Admittedly PDF 1.7 is not using strong normative language. But by ignoring the statement that labels go inside a Lbl tag, one is simply not following the rules of the syntax.

PDF/UA uses stronger normative language by stating that one must always use tags, and that one must use the right tags:

Excerpt from ISO 1428901, 7.1:
> "Content shall be marked in the structure tree with semantically appropriate tags …. "


> The only language it provides is through the ‘ListNumbering’
> attribute (under Table 347), which says "Lbl elements (if present) contain
> arbitrary text not subject to any numbering scheme”. I understand that
> ListNumbering is about what kind of L it is, but this was the only
> indication I could find where 32000 mentions the Lbl’s presence. Why would
> it mention ‘If Present’ if it couldn’t possibly also be ‘Not Present’?

you can easily have lists without a label character in from of the list items.

> Could I use the ListNumbering to specify this is an unordered list instead
> in previous documents? Where would that have gone? I digress…

that's what the None value is for:

Excerpt from ISO 32000-1 (PDF 1.7), 14.8.5.5, Table 347
> None: No autonumbering; Lbl elements (if present) contain arbitrary text not subject to any numbering scheme


> ISO 14289 only states "Lbl and LBody tags may be included”.

it's kind of just repeating ISO 320001- here:

Excerpt from ISO 32000-1 (PDF 1.7), 14.8.4.3.3, Table 336
> (List item) An individual member of a list. Its children may be one or more labels, list bodies, or both (structure types Lbl or LBody).

the idea here is to keep things very open; who says the list item label must always be in front of the list item? Maybe in some fancy list it's in the middle of list items, and some list item body before and after. Naybe it has label in front and after each list item? And maybe there is no label at all because the list appearance is created by some other visual mechanism, like a box around each list item

> The Tech Imp
> guide mentions that these things should be hidden from view.

where does it say so? I must be missing something.

>> - on the content inside the Lbl (not on the Lbl, please).
>
> If I change the properties in a content box, it affects the tag it resides
> in. Should I nest these inside <Span> then?

I believe this would be the right approach



Thanks,

Olaf