Re: [jats-list] @scope and @headers

Subject: Re: [jats-list] @scope and @headers
From: "Bruce Rosenblum bruce@xxxxxxxxx" <jats-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 9 Apr 2019 13:09:34 -0000
Hi Tony,

Thanks for all the background research; it's much more detail than I've
read in one place.

At a more practical level, we've been setting scope attributes in JATS XML
files for years for customers who need section 508 compliance and it's met
their requirements. One of our customers did raise the question of the
headers attribute and they decided that setting it correctly in all cases
would present significant challenges while gaining them little extra, so
they decided to stick just with scope.

Best regards,

Bruce



On Tue, Apr 9, 2019 at 8:13 AM Tony Graham tgraham@xxxxxxxxxxxxx <
jats-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:

> @scope [1] and @headers [2] are designed to make tables more accessible
> by making explicit the relationship between a Table Header Cell and the
> cell(s) to which it applies.  For example, spanning table cells and
> cells in the first column(s) that relate to the rest of the cells in the
> current row aren't such a problem when you can look at the formatted
> table but are rather more of a problem when you have to have each table
> cell read aloud to you.
>
> @scope specifies the cells for which the current cell acts as a head
> cell.  For LTR tables, this is the cells down and/or to the right of the
> current cell.
>
> @headers works in the opposite direction.  It identifies the cell(s)
> acting as a header cell for the current cell.
>
> @scope and @headers map straight to same-named attributes in HTML
> output, and they also map to 'Scope' and 'Headers' attributes in Tagged
> PDF.  PDF/UA (ISO 14289-1) favours 'Headers' over 'Scope' but does
> require 'Scope' when 'Headers' and IDs is not clear enough:
>
>     If the tablebs structure is not determinable via Headers
>     and IDs, then structure elements of type TH shall have a
>     Scope attribute.
>
> All of which brings me to:
>
>   - @scope and @headers are not mentioned in the 'Accessibility'
>     chapter [3].
>
>   - I haven't seen @scope or @headers used in any examples in the
>     Tag Library.
>
>   - @scope is defined as:
>
>        Specifies the cells for which the <td> element provides
>        header information.
>
>     which doesn't mention that @scope also applies to <th>.  @scope
>     could be use with a <th> when, for example, the <th> is in the
>     first column of a body row or the <th> spans multiple columns of the
>     table header [4] (although, arguably, that relationship could be
>     inferred, as it is in HTML5 and in PDF 2.0).
>
>   - In the definitions of @scope values, 'rest' and 'remaining' are not
>     defined. (HTML specs don't manage that either.)  It might not be
>     clear, for example, that for 'rowgroup', "all the remaining
>     cells in the row group" does not include a cell in a following row
>     but in a preceding column [5].
>
>     ISO 32000-1 (PDF 1.7) possibly puts it best:
>
>        It shall reflect whether the header cell applies to the rest
>        of the cells in the row that contains it, the column that
>        contains it, or both the row and the column that contain it.
>
>     but ISO 32000-1 doesn't have column groups.
>
>   - The definition of @headers does not say anything about the
>     relationship between the current table cell and the referred-to
>     table cells:
>
>        List of @ids for table data and header cells.
>
>     Putting the ID of every header cell in @headers on every table cell
>     would satisfy that definition, but it wouldn't be very useful.
>
>   - The page for @scope includes this remark:
>
>        Caution: This attribute has not been widely supported.
>
>     How was that determined?  Browsers can cope with it, YMMV whether any
>     particular browser+screen-reader combination will use @scope (it
>     appears that NVDA 19.1 [6] with Firefox 66.0.2 ignores @scope), but
>     everything that generates PDF/UA has to support 'Scope'.
>
>   - The Tag Library entry for @headers could note that @headers must not
>     point to itself.
>
>   - The definition of the @headers value is somewhere between wrong and
>     misleading:
>
>        Points to (contains) a list of one or more IDs of rows and
>        columns that supply header information.
>
>     It should be the IDs of <th> or <td> elements, not of <row> or
>     <column> elements.
>
>   - The @scope and @headers definitions both include 'XHMTL' rather than
>     'XHTML'.
>
>
> Regards,
>
>
> Tony Graham.
> --
> Senior Architect
> XML Division
> Antenna House, Inc.
> ----
> Skerries, Ireland
> tgraham@xxxxxxxxxxxxx
>
> [1]
> https://jats.nlm.nih.gov/publishing/tag-library/1.2/attribute/scope.html
> [2]
> https://jats.nlm.nih.gov/publishing/tag-library/1.2/attribute/headers.html
> [3]
>
>
https://jats.nlm.nih.gov/publishing/tag-library/1.2/chapter/accessibility.htm
l
> [4] https://www.w3.org/TR/html401/struct/tables.html#h-11.4.1
> [5] https://www.w3.org/TR/html5/tabular-data.html#example-203d1261
> [6] https://www.nvaccess.org/
>
>


--
-------------------------------------------------------------------
This email message and any attachments are confidential. If you are not the
intended recipient, please immediately reply to the sender or call
617-932-1932 and delete the message from your email system. Thank you.
-------------------------------------------------------------------
Bruce D. Rosenblum
Inera Inc.
19 Flett Road, Belmont, MA 02478
phone: 617-932-1932 (office)
email: bruce@xxxxxxxxx
web: www.inera.com | www.edifix.com
twitter:  @eXtyles | @edifix

Current Thread