Skip to content
This repository has been archived by the owner on Jun 27, 2023. It is now read-only.

Navigating a web publication #14

Closed
dauwhe opened this issue Jun 27, 2017 · 14 comments
Closed

Navigating a web publication #14

dauwhe opened this issue Jun 27, 2017 · 14 comments

Comments

@dauwhe
Copy link

dauwhe commented Jun 27, 2017

Readers need to easily navigate through web publications. Such navigation could be complicated by the reality that many web publications consist of many resources, likely in a defined order. EPUB reading systems typically provide UI to access a (required) table of contents from anywhere in the publication, and further provide simple UI gestures to move from document to document.

Should web publications require a comprehensive navigation document? How can we make it easy for users to get from document to document?

@iherman
Copy link
Member

iherman commented Jun 28, 2017

Probably not require: we do not want to complicate life for those who want to publish a single HTML document with all the surrounding goodies as Web Publication (e.g., journal article).

Having an optional navigation document (more or less like EPUB3.1 has with the <nav> element sounds like a good idea, although I do not believe there is any standard browser behaviour to handle that (alas!).

@mattgarrish
Copy link
Member

Agree with not requiring at the web publication level. We can leave that and any continued structuring requirements for epub to define.

A single-page document could identify itself as the source of the toc if it's structured and has one, but I expect there will be plenty of documents with no specific outline or only a single heading.

Recommending identification with role=doc-toc on the nav might also be wise, but might also be too much detail at this level.

HTML4 defined rel=contents for link,[1] but it got dropped for lack of implementation.[2] Identifying the table of contents in every document seems like a cumbersome approach, but maybe linking from the manifest might revive some interest. We no doubt need to give browsers something tangible to do, and implementations using, before the current situation will change.

[1] https://www.w3.org/TR/html4/types.html#type-links
[2] https://lists.w3.org/Archives/Public/public-html/2011Feb/att-0481/issue-118-decision.html

@dauwhe
Copy link
Author

dauwhe commented Jun 28, 2017

Probably not require: we do not want to complicate life for those who want to publish a single HTML document

The single-HTML-document case is interesting, as it also avoids questions of reading order. So I can see making nav optional in that case. But what if there are multiple content documents? Should nav still be required? Is there an alternative that would be easy to author and useful to humans?

@TzviyaSiegman
Copy link
Contributor

We may want to consider different approaches for single document WPs and multi-document WPs, as @dauwhe notes. We might consider the headaches that have forced reconsideration of the HTML outline algorithm and all the work that goes into ARIA landmarks before assuming that a single HTML document does not require a TOC.
Most scholarly journal reading platforms provide navigation on the platform. That is, there is something (headings) that feeds into a system that generates a TOC, very much like EPUB nav and today's reading systems. Here is a screen capture from Wiley Online Library with the article navigation on the right. It is generated from the level 1 and 2 heads in the HTML.

wol

@iherman
Copy link
Member

iherman commented Jun 28, 2017

The interesting point of that example is that there is some sort of a hierarchy here. A full journal (issue) may be considered as a WP, and that means the need for a TOC. But a single journal article is also a WP: as a reader, I am interested in only one article, but I want to see it offline, too, meaning it is also a WP in isolation.

That also means that the association of a manifest (or whatever we call it) with the individual sources must be such that "sharing" should be possible.

(Is it a use case that does not appear in the UCR document? I guess it is...)

@HadrienGardeur
Copy link

I strongly believe that Web Publications should not require anything other than a manifest. Linking to that manifest, shouldn't even be a requirement.

In the case of a single-resource Web Publication, the manifest can be inlined using a script element (like in AMP).

For larger Web Publications, some of the constituent resources can point to an external manifest (identified by its own URI) using HTML <link> or the Link header in HTTP. I don't think that we should require all resources to include such a link.

There's absolutely no requirement when reading a publication for a Navigation Document (or any similar concept) and we should remain consistent with the Web. Such publications already have their own navigations, and we shouldn't force them to adopt something different.

@WSchindler
Copy link
Contributor

In my understanding, the fundamental difference between a manifest and a navigation document is that the manifest defines the different kinds of resources that make up a WP - content docs, images, audio, video, css files, etc., while the navigation document defines a default reading order, gives a quick overview over the available chunks of content and supports to easily navigate to a specific part. This information could also be used by assistive techniques to allow visually impaired users to skip sections that they are not interested in.

Of course, you may argue that any web site of some extent would have a navigation bar and you may use links and fragment identifiers etc. for navigating its contents. Nevertheless, I think that the logical structure of a WP, i.e. the semantic dependencies of its constituent chunks of content, should be visible for the user and be explicitly defined on the basis of a standardized format that could be used by browser vendors and developers of accessibility technology.

@HadrienGardeur
Copy link

In EPUB, the Navigation Document does not define a default reading order. The spine is responsible for that, and it would be included in the manifest.

The Navigation Document is responsible for providing alternate ways that the content can be browsed/navigated using a number of lists (table of contents, list of illustrations, page list...)

@WSchindler
Copy link
Contributor

@HadrienGardeur: would not the Navigation Document give more flexibility in accessing/navigating the contents by offering additional approaches or do you see that sufficiently covered by the spine?

@HadrienGardeur
Copy link

@WSchindler they serve a different purpose, but my point is that the Navigation Document (or its equivalent) shouldn't be a requirement and that there's no reason why we couldn't express all of this in a single manifest (that's already how we handle it in Readium-2, and it's much more consistent and easier to work with for developers).

@dauwhe
Copy link
Author

dauwhe commented Jul 3, 2017

I strongly believe that Web Publications should not require anything other than a manifest. Linking to that manifest, shouldn't even be a requirement.

What happens when a user navigates to a component of a web publication that doesn't include a link to a manifest (in whatever form)? Are you proposing an alternate way of identifying that the component is part of a web publication?

@lrosenthol
Copy link

lrosenthol commented Jul 3, 2017 via email

@HadrienGardeur
Copy link

What happens when a user navigates to a component of a web publication that doesn't include a link to a manifest (in whatever form)? Are you proposing an alternate way of identifying that the component is part of a web publication?

@dauwhe what's the context? Have you already "discovered" the publication before? If so, I don't see any problem at all. Otherwise, it just means that you won't be able to discover the publication, which is also fine.

Yes, we could put everything into a single manifest - but that will have huge performance implications as the size of the publication grows. While most books aren't that large - consider reference works (eg. dictionaries). Or forget about books and think about documents - a 1000 page document is not uncommon. And the largest document that was actually consumed by one of our users last year was over 40000 pages. Trying to load all that into a UA before displaying anything is simply not a good user experience.

@lrosenthol I'm not saying that we should always cram everything in a single manifest. For the current Readium-2 use case where we ingest EPUB, it works fine and is far more consistent than forcing the app developer to manipulate multiple XML files (NCX, OPF) and XHTML (Navigation Document).

A key part of our design for the manifest is that it can be easily extended, and we rely extensively on links for that. Media overlays are a good example: while we could parse all media overlays and include them in the manifest, it would be slow and turn the manifest into a much larger resource than it needs to be.
Instead we treat media overlays as a separate service that can be discovered in the manifest (URI template + rel value + media type).

Dealing with edge cases like the one that you're describing is always tricky and we need some flexibility/extensibility to make sure that things remain as simple as possible for basic use cases, yet capable of handling very complex ones at the same time.

@dauwhe
Copy link
Author

dauwhe commented Jul 5, 2017

This issue was moved to w3c/wpub#2

@dauwhe dauwhe closed this as completed Jul 5, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

7 participants