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>


I’m satisfied with that analysis.

 

Cheers,

 

E.

 

--

Eliot Kimber

http://contrext.com

 

 

 

From: Robert D Anderson <robander@us.ibm.com>
Date: Thursday, September 28, 2017 at 3:13 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>

 

For the two items:

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 the first one as well.

For the second - I agree that it doesn't match DocBook, but that doesn't make it incorrect. When I reviewed / approved the final proposal, I did so based on the language in that proposal (which matches the current specification).

Basically, with a simpler version of the list I gave below:

  • If you have a table with header row(s) on top and/or a first-column header -- DITA 1.0 markup handles everything
  • For anything else:
    • In DocBook, you have to set rowheader="headers" on the colspec, and then maintain all header accessibility info on entries
    • With DITA, the colspec/@rowheader attribute as we've defined it gives you a shortcut to designate a header column, otherwise you maintain it manually without worrying about the colspec values


Unless I'm missing something, that means we have all the same capabilities as DocBook, but also have a small shortcut for the case where the second column of a table is also a header. I really like that shortcut - of all the edge-case tables I've seen almost every one fell in the category of "Second column is also a header column", and this takes care of that easily. Changing to match DocBook would take that away (and also change the approved meaning, which seems out of scope for an errata).

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/28/2017 02:44:32 PM---This maEliot Kimber ---09/28/2017 02:44:32 PM---This may be our failure to fully check the original proposal, but my understanding from the time was

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





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
http://contrext.com



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



active 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://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=JIyep8XH1Nuk2XgJBIrlLs9spymCeaLcgRL7ULkscqE&s=lkpsxAY7c4nRZsjNChRMuhsV3KJjB0sP6OTpzky-EYk&e= 



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