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

Redundant Media Overlays escapability normative statements #2284

Closed
dlazin opened this issue May 12, 2022 · 6 comments · Fixed by #2304
Closed

Redundant Media Overlays escapability normative statements #2284

dlazin opened this issue May 12, 2022 · 6 comments · Fixed by #2304
Labels
EPUB33 Issues addressed in the EPUB 3.3 revision Spec-ReadingSystems The issue affects the EPUB Reading Systems 3.3 Recommendation

Comments

@dlazin
Copy link
Contributor

dlazin commented May 12, 2022

https://w3c.github.io/epub-specs/epub33/rs/#sec-escapability says (breaks and numerals mine):

  1. Reading systems SHOULD allow escaping of nested structures.
  2. Reading systems MUST determine the start of nested structures by the value of the epub:type attribute and
  3. SHOULD offer users the option to skip playback of that structure and resume with whatever content comes after it.

It seems to me that #1 and #3 are saying the same thing. It's also not clear if the MUST is dependent on the SHOULD (like #2271), or if the MUST applies even if the RS doesn't support escaping.

@mattgarrish mattgarrish added the Spec-ReadingSystems The issue affects the EPUB Reading Systems 3.3 Recommendation label May 13, 2022
@iherman
Copy link
Member

iherman commented May 13, 2022

Well... I guess the key is actually the additional remark you had at the end of the question. Yes, imho, all this is dependent on the fact whether the RS implements that feature. Is it clearer if I reformulate it slightly as in:

Reading systems SHOULD allow escaping of nested structures. Implementing escaping means that the reading systems MUST determine the start of nested structures by the value of the epub:type attribute, and SHOULD offer users the option to skip playback of that structure and resume with whatever content comes after it.

(And I agree the current formulation is unclear.)

I would actually put an explicit reference to https://www.w3.org/TR/epub-33/#sec-escapability, which contains an elaborate example, too.

@dlazin
Copy link
Contributor Author

dlazin commented May 13, 2022

Ivan's version of this is much better, but I'm still not clear on what escaping is other than the last phrase. Like, if you did the MUST, but not the last SHOULD, wouldn't that mean the user can't escape the content? It sounds to me like the last SHOULD is the definition of what escaping is, and therefore it should be a MUST. If I'm misunderstanding, then I think we need another MUST somewhere, because merely determining the start of nested structures — without any UI abilities — does not allow escaping.

@mattgarrish
Copy link
Member

mattgarrish commented May 18, 2022

Like, if you did the MUST, but not the last SHOULD, wouldn't that mean the user can't escape the content

Yes, it's still a bit redundant with providing the feature. I would formulate it more along these lines:

Reading systems SHOULD allow escaping of nested structures. To escape a structure, reading systems MUST determine the start of the nested structure by the value of the epub:type attribute on the nearest ancestor seq element and resume playback with whatever content comes after it.

Does this sound right to you, @marisademeglio ?

@mattgarrish
Copy link
Member

mattgarrish commented May 18, 2022

Although, can an escapable structure be represented by a single par element? (i.e., can you escape from a list that is just one long par audio sequence?)

Maybe it's better not to say what element to look for and make it:

Reading systems SHOULD allow escaping of nested structures. To escape a structure, reading systems MUST determine the start of the nested structure by the value of the epub:type attribute on the nearest ancestor element, or self, and resume playback with the next seq or par element after it.

@marisademeglio
Copy link
Contributor

What if we wrote something like:

While playing Media Overlays, Reading Systems SHOULD offer users the option to leave ("escape") "escapable structures", which are determined by the presence of an epub:type attribute with a value from the escapable structures list (where is this?). If the currently-playing element or its parent is an escapable structure, and the user opts to escape out of it, then the Reading System MUST continue playback with the next sequential element after the escapable structure.

This puts MUSTs and SHOULDs on measurable RS behavior.

@mattgarrish
Copy link
Member

If the currently-playing element or its parent

I think we need to say "or an ancestor" here, as if you're in a table cell there could be a seq for the row between it and the seq for the table (same with deeply nested lists, complex figures, etc.).

Otherwise, sounds good to me.

@mattgarrish mattgarrish added the EPUB33 Issues addressed in the EPUB 3.3 revision label Jul 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
EPUB33 Issues addressed in the EPUB 3.3 revision Spec-ReadingSystems The issue affects the EPUB Reading Systems 3.3 Recommendation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants