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

Subject: Re: [jats-list] @scope and @headers
From: "Debbie Lapeyre dalapeyre@xxxxxxxxxxxxxxxx" <jats-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 9 Apr 2019 17:50:36 -0000
WOW Tony, thanks.

I agree with Bruce that I have never seen this so
clearly and helpfully presented. I will bring this
up to the JATS Standing Committee when next we meet,
as a Documentation Request for changes to the Tag Libraries.

--Debbie

> On 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/
>


================================================================
Deborah A Lapeyre              mailto:dalapeyre@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc.      http://www.mulberrytech.com
17 West Jefferson Street         Phone: 301-315-9631 (USA)
Suite 207                        Fax:   301-315-8385
Rockville, MD 20850
----------------------------------------------------------------
Mulberry Technologies: Consultancy for XML, XSLT, and Schematron
================================================================

Current Thread