Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added text on the behavior of RS when the same item is referenced multiple times in the spine. #1889

Merged
merged 4 commits into from
Nov 12, 2021
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion epub33/core/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3181,7 +3181,7 @@ <h6>The <code>itemref</code> Element</h6>
<p id="attrdef-itemref-idref">Each <code>itemref</code> element MUST reference the ID
[[XML]] of a unique <a href="#elemdef-package-item"><code>item</code></a> in the
<a>manifest</a> via the IDREF [[XML]] in its <code>idref</code> attribute (i.e., two
or more <code>itemref</code> elements cannot reference the same <code>item</code>).</p>
or more <code>itemref</code> elements MUST NOT reference the same <code>item</code>).</p>
iherman marked this conversation as resolved.
Show resolved Hide resolved

<p id="confreq-spine-itemtypes">Each referenced manifest <code>item</code> MUST be either a)
an <a>EPUB Content Document</a> or b) another type of <a>Publication Resource</a> which,
Expand Down
13 changes: 13 additions & 0 deletions epub33/rs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -548,6 +548,15 @@ <h3>Spine</h3>
<p id="confreq-rs-pkg-spine-unknown" data-tests="#confreq-rs-pkg-spine-unknown">Reading Systems MUST
ignore all values expressed in spine <code>itemref</code>
<code>properties</code> attributes that they do not recognize.</p>

<p>
When presented with a single manifest item that is repeated multiple times in the linear flow of the spine,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe replace When presented with a single manifest item [...] with When presented with a single <a href="https://www.w3.org/TR/epub-33/#dfn-publication-resource">Publication Resource</a> [...]

That should resolve the concern of @rdeltour since it won't limit this to duplicate spine references to a single item, and instead broadens the scope to resources. So it should implicitly cover two spine items with the same itemref, and two items (with different itemrefs) that resolve to the same resource.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like that, @bduga, I have made the change.

Reading Systems SHOULD do their best to display that content in the correct location of that linear flow.
The Reading System SHOULD treat these as distinct pages for UI purposes (for example, each occurrence
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"distinct pages" sounds like it's referring to fixed layout pages / spreads. Maybe "items" or "instances" would be more appropriate, given that we're talking about spine items?

Isn't this also a "must" requirement, though? Why wouldn't it treat them as distinct items? The problem is that the user may not be at the document they expect, but the RS can't control that.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, pages is a bad word here (assumes pagination, etc). Also fine with making this a MUST.

could be independently bookmarked or annotated), but when following an internal link to that
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"internal link" is a ambiguous when talking about the reading system. Maybe make this clearer by adding the user action: "When a user activates a hyperlink to a resource that is referenced multiple times in the spine, the Reading System SHOULD ..."

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed "internal link" is not a great choice, but this is less about hyperlink activation and more about resolving the destination of a hyperlink (a RS may not allow following a hyperlink). Maybe:

When a Reading System follows a hyperlink to a resource referenced multiple times in the spine, the Reading System MUST [...]

That also lets us turn the SHOULD into a MUST.

item the Reading System SHOULD move to the position of the first occurrence of the
document in the linear flow.
</p>
</section>

<section id="sec-pkg-doc-collections">
Expand Down Expand Up @@ -2235,6 +2244,10 @@ <h2>Change Log</h2>
>Working Group's issue tracker</a>.</p>

<ul>
<li>
01-Nov-2021: Added a statement on the Reading System behavior when item references are repeated in the
spine. See <a href="https://github.com/w3c/epub-specs/issues/1686">issue 1686</a>.
</li>
<li>27-Aug-2021: Added accessibility bullet to cover the need for zooming, particularly for fixed-layout
documents. See <a href="https://github.com/w3c/epub-specs/issues/1776">issue 1776</a>.</li>
<li>27-Aug-2021: Remove the recommendation to support text search and selection in SVGs. Replacing with
Expand Down