Skip to content

Require that linear=no content be accessible via links?  #1480

Closed

Description

@dauwhe

This is related to #632.

The RS spec says:

When rendering an EPUB Publication, a Reading System MAY either suppress non-linear content so that it does not appear in the default reading order, or ignore the linear attribute to provide users access to the entire content of the EPUB Publication. This specification does not mandate which model Reading Systems have to use. A Reading System MAY also provide the option for users to toggle between the two models.

Do we need a requirement that linear="no" content MUST nevertheless be reachable via links? "Suppress" is a strong word.

Activity

  1. added
    Spec-ReadingSystemsThe issue affects the EPUB Reading Systems 3.X Recommendation
    on Jan 21, 2021
  2. GarthConboy commented on Jan 21, 2021

    @GarthConboy

    Maybe "s/suppress/hide" ?

    But, to your main question -- must be reachable via links. That does seem reasonable. Testing? Depend upon epubcheck?

  3. mattgarrish commented on Jan 21, 2021

    @mattgarrish
    Member

    Do we need a requirement that linear="no" content MUST nevertheless be reachable via links?

    This is required on the authoring side:

    Authors MUST provide a means of accessing all non-linear content (e.g., hyperlinks in the content or from the EPUB Navigation Document).

    https://w3c.github.io/epub-specs/epub33/core/#sec-itemref-elem

  4. dauwhe commented on Jan 21, 2021

    @dauwhe
    ContributorAuthor

    I think that still means that reading systems can't just throw away non-linear spine items.

  5. mattgarrish commented on Jan 21, 2021

    @mattgarrish
    Member

    I think that still means that reading systems can't just throw away non-linear spine items.

    No, that wasn't the intention. Suppress is only meant in the hide sense that Garth suggests, strictly within spine reading order.

    But that paragraph arose from a long and cantankerous debate around the time of 3.1. Looking at it now, we could probably reduce it to something like:

    When a user traverses the default reading order defined in the spine, a Reading System MAY automatically skip itemref elements marked as non-linear (excluding when a user specifically hyperlinks to such items). Reading Systems MAY also provide the option for users to select whether non-linear content is skipped by default or not.

  6. iherman commented on Mar 26, 2021

    @iherman
    Member

    The issue was discussed in a meeting on 2021-03-26

    List of resolutions:

    • Resolution No. 1: Close PR 1584 with the new language around linear="no", close issue 1480
    View the transcript

    1. PR Clarifying non-linear items

    See github pull request #1584.

    See github issue #1480.

    Dave Cramer: much of what we are talking about is in the comment to this issue
    … there is some history to linear=no
    … items are linear=yes when they are in reading order
    … but we don't say what to do when linear=no
    … most common implementation seems to have linear=no content only appear when link is clicked
    … belief that that content can be suppressed, but we wanted to clarify that that content must be reachable if explicitly clicked

    Brady Duga: linear=no was put in for publishers, to better control what RSes was doing with order of their content

    Dave Cramer: one of the issues was with cover images right? sometimes in the spine, sometimes in metadata?

    Brady Duga: no, this was more about content at the end, e.g. footnotes
    … where each footnote is in its own document, but only linked to the main book, not in reading order
    … so without linear the footnotes would sometimes appear in random order at the end of the book

    Dave Cramer: i think some RS will also just move all linear=no content at the end regardless

    Ivan Herman: just to clarify, e.g. i have a complex illustration that i don't want in the text, like an svg, and there is a reference to it, is this an example of linear=no?

    Brady Duga: if you have a link to that from something in your spine, then yes, that would be a use for linear=no

    Dave Cramer: and in some RS clicking that sort of link would open that content in a window in front of the text

    Brady Duga: its essentially metadata about this piece of content that enables RS to make informed decision about how to process this piece of content in its UI

    Charles LaPierre: we just had a example where extended image descriptions were marked as linear=no and but some RSes were still showing it where it appeared in the spine
    … this was kind of counter intuitive

    Brady Duga: if its a link then it has to show up in the spine, so RSes that want to show it know where to do so
    … this kind of goes back to the ideological debate of whether ebooks should replicate limitations of print
    … some RS are going to show all content, and some won't
    … linear doesn't change that
    … it just allows publishers to have some control over whether it appears at the back of the book vs some other location

    Matt Garrish: from a RS "make it render consistently" point of view, I'm not sure we can solve that
    … from a user perspective, that's why we wanted to give users an option to skip linear=no content or not

    Dave Cramer: there's so much existing content that i'm not sure there is a path towards uniform behaviour of the linear attribute
    … that said, i think the clarifying language of the PR is good
    … just underlining that RS must still show linear=no content if the user clicks a link
    … and not just suppress that content

    Ivan Herman: the current text uses a lot of MAYs
    … i just want to be sure that this is as far as we can go

    Hadrien Gardeur: in Readium community (Thorium etc.), we decided 3 years ago that if something is marked as linear=no then you won't encounter if you're just moving forward through a pub, but that you will see it if accessed via a link
    … this was not a hard decision
    … but how do you present these resources?
    … some people think that linear=no resource should behave like the rest of the content (i.e. if everything is normally paginated, then it should also be paginated)
    … but it could also be scrolled etc.
    … it may not be wg's role to deal with this, but it is a problem lacking a solution
    … even when we simply the scenario, by excluding desktop user case, for example, there is still disagreement about what to do with it

    Ivan Herman: so, the maximum we can do at this point in terms of the PR is to say yes, but i don't know whether we are in position to put the various alternatives of what can happen (along the lines of what Hadrien just discussed)
    … but that can be a separate issue
    … and maybe have it somewhere in spec as note
    … as it currently stands, you are in for a surprise, not even sure what behaviour to expect

    Wendy Reid: we get very similar comments about how we handle footnotes
    … need clarity about what to do with content that is linked from main text, but not necessarily required for main text
    … e.g. is it a pop-up, or does the link take you somewhere else, etc.

    Dave Cramer: can we resolve on accepting PR?

    Proposed resolution: Close PR 1584 with the new language around linear="no", close issue 1480 (Wendy Reid)

    Brady Duga: +1

    Matt Garrish: +1

    Gregorio Pellegrino: +1

    Masakazu Kitahara: +1

    Wendy Reid: +1

    Toshiaki Koike: +1

    Juliette McShane: +1

    Matthew Chan: +1

    Bill Kasdorf: +1

    Dan Lazin: +1

    Hadrien Gardeur: +1

    Charles LaPierre: +1

    Ivan Herman: +1

    Resolution #1: Close PR 1584 with the new language around linear="no", close issue 1480

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    EPUB33Issues fixed in the EPUB 3.3 revisionSpec-ReadingSystemsThe issue affects the EPUB Reading Systems 3.X Recommendation

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions