OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

dita message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [dita] Errata in grammar files for <colspec>


Re (2), the language in the DITA 1.3 spec reflects the DITA 1.3 proposal, was approved by the proposal champion (and the rest of the TC), and is now normative.

To change it would require a new DITA 2.0 proposal.

Best,
Kris

Kristen James Eberlein
Chair, OASIS DITA Technical Committee
Principal consultant, Eberlein Consulting
www.eberleinconsulting.com
+1 919 682-2290; kriseberlein (skype)

On 9/28/2017 3:44 PM, Eliot Kimber wrote:

This may be our failure to fully check the original proposal, but my understanding from the time was to bring DITA 1.3 into alignment with DocBook on table accessibility, so I would expect them to be identical.

 

But maybe we’re being more correct with respect to the current HTML guidance?

 

I understood the DocBook version of @rowheader=”headers” on colspec to mean “look to @headers on entries, if specified”. Which is a reasonable default (because it will have no effect if @headers is not specified on any entry) but also not necessary to say explicitly, which is probably why it’s not defaulted in DocBook.

 

So there may be two issues here:

 

  1. Need to remove the default
  2. DITA semantics for rowheader=”headers” on colspec is incorrect (it certainly doesn’t match DocBook as far as I can tell).

 

I definitely agree with (1).

 

Cheers,

 

E.

 

--

Eliot Kimber

 

 

 

From: Robert D Anderson <robander@us.ibm.com>
Date: Thursday, September 28, 2017 at 2:29 PM
To: Eliot Kimber <ekimber@contrext.com>
Cc: DITA Technical Committee <dita@lists.oasis-open.org>
Subject: Re: [dita] Errata in grammar files for <colspec>

 

I ... am not sure.

I don't know the DocBook background here - but I understand the current description of colspec/@rowheaders and what it is supposed to do. It also matches the text from the final DITA 1.3 proposal that added it. From that proposal:

"Add rowheader to the colspec element. Indicates whether or not the entries in the respective column should be considered row headers. "


The reason to use colspec/@rowheaders is to indicate that the designated column is a header. For example, if you want the second (or last) column to be a header column, you'd set rowheaders="headers" on that column -- a way to say "This column is full of header cells". That's what the current language says, and the markup makes sense (provided we remove the default that currently turns every cell of every column into a header).

That basically means that to make your table accessible, in order of complexity, you would:

  • If you have a basic table with one or more header rows on top - just put the header row(s) in <thead> and you're done.
  • If you also want the first column to be treated as a header column (every entry in that column is a header for the row) - set rowheader="firstcol" on the table itself


Those two items have been available from DITA 1.0 and cover most tables that I've seen. For the exceptions, the following options are available in DITA 1.3:

  • If you want a single entry in a column to be a header for its row, set scope="row" on that entry
  • If you want every entry in a column to be a header for its row, set rowheaders="headers" on that colspec -- basically, it's a shortcut to setting @scope="row" on every entry in the column
  • If you want a single entry in a row to be a header for its column, but it is outside of <thead>, then set scope="col" or scope="colgroup" on the entry
  • If you want every entry in a row to be a header for its column, but it is outside of <thead>, then set scope="col" or scope="colgroup" on every entry in that row
  • If none of that works, and you need to set individual cells as headers for individual entries, use @id on the header cell and @headers on the entry


Knowing only what you've said about the DocBook version - it sounds like in DocBook, the "headers" value is basically a way to say "I want to maintain this manually with id/headers attributes on every entry" - which we definitely don't want as the default in DITA.

Regards,

Robert D. Anderson
DITA-OT lead and Co-editor DITA 1.3 specification,
Digital Services Group


E-mail: robander@us.ibm.com
Digital Services Group

11501 BURNET RD,, TX, 78758-3400, AUSTIN, USA




nactive hide
            details for Eliot Kimber ---09/27/2017 04:51:48 PM---I’m
            wonEliot Kimber ---09/27/2017 04:51:48 PM---I’m wondering if the text of the topic is actually what’s wrong.

From: Eliot Kimber <ekimber@contrext.com>
To: DITA Technical Committee <dita@lists.oasis-open.org>
Date: 09/27/2017 04:51 PM
Subject: Re: [dita] Errata in grammar files for <colspec>
Sent by: <dita@lists.oasis-open.org>





I’m wondering if the text of the topic is actually what’s wrong.

Looking at the DocBook documentation for colspec, it says for @rowheader value “headers”:

“Indicates that row headers are identified by use of the headers attribute on entries in the table.”

Which is a sensible default (because it means that if @headers is not specified on entries there are no row headers for that column.

However, DocBook 5.1 does not appear to define a default for @rowheader on <colspec>, so probably also correct to remove the default.

I think the DITA text should match the DocBook text (assuming that we did not intend to change the meaning of “headers” in this context, which I wouldn’t think we intended).

Cheers,

E.
--
Eliot Kimber
http://contrext.com



From: <dita@lists.oasis-open.org> on behalf of Robert D Anderson <robander@us.ibm.com>
Date:
Wednesday, September 27, 2017 at 3:53 PM
To:
DITA Technical Committee <dita@lists.oasis-open.org>
Subject:
[dita] Errata in grammar files for <colspec>

I was trying out some of the accessibility features added for very complex tables. One of the features is the ability to set colspec/@rowheader="headers" -- doing so indicates that the specified column should be treated as a header for all entries in that row. This enhances the DITA 1.0 level support that just allowed you to designate the first column as a header column. Here's the description of that value from the spec topic:

headers

Indicates that entries of a column described using the <colspec> element are functionally row headers (for cases with more than one column of row headers). Applies when @rowheader is used on the <colspec> element.

So -- in order to indicate that the second column of a table should be treated as the header column, set rowheader="headers" on the <colspec> element that corresponds to column 2.

Turns out the grammar files actually set this as a default, which is very clearly not the intent. This means every processor that gets a parsed version of a table will view every column as having this attribute ... thus every column is a header column.


This occurs in all versions of the shipped grammar (RNG, DTD, XSD). It's clearly not the intent, based on the description in the spec and based on the fact that the results are nonsensical. We should fix this in the errata by removing the default value.


Relevant spec topic:

http://docs.oasis-open.org/dita/dita/v1.3/errata01/os/complete/part1-base/langRef/attributes/calsTableAttributes.html#oet-atts__rowheader

Regards,

Robert D. Anderson
DITA-OT lead and Co-editor DITA 1.3 specification,
Digital Services Group


E-mail: robander@us.ibm.com
Digital Services Group

11501 BURNET RD,, TX, 78758-3400, AUSTIN, USA




---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that
generates this mail.  Follow this link to all your TCs in OASIS at:
https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oasis-2Dopen.org_apps_org_workgroup_portal_my-5Fworkgroups.php&d=DwIBAg&c=jf_iaSHvJObTbx-siA1ZOg&r=eBihWDTS2oOizc2d2LrsewiOpn69Mu6rPwmmRMM_aAU&m=F9GBkOLT5WrvU9DblEcHQxRu9wH6_fn6EvK4by0lI1w&s=s0Ub0itoPmC99QZK7r77MgbT59T3nDEYtslhaySI6-Y&e= 



---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that 
generates this mail.  Follow this link to all your TCs in OASIS at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]