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

Add a paragraph about the reasons why limiting styles. #410

Merged
merged 10 commits into from
Feb 28, 2018

Conversation

silviapfeiffer
Copy link
Member

closes #373

@silviapfeiffer
Copy link
Member Author

@dwsinger need a review

dwsinger
dwsinger previously approved these changes Nov 13, 2017
index.bs Outdated
<p>Only a limited set of CSS styles is allowed in WebVTT because user agents that do not support CSS
will need to implement CSS functionality equivalents. Browsers therefore also have to be limited in
what CSS styles they support for WebVTT so as to enable identical rendering in browsers and
non-browsers.</p>
Copy link
Contributor

Choose a reason for hiding this comment

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

I am not clear that this is a genuine requirement, that rendering is identical in browsers and non-browsers. If I recall correctly WebVTT has no requirements document. Pointer to a WG resolution that this is important?

Choose a reason for hiding this comment

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

Actually this sentence is subtly wrong; user agents that don't support CSS (a conformance class as Andreas notes), well, do not support CSS. UAs that DO support CSS can use a full CSS engine but can also implement this restricted subset of CSS.

Copy link
Member Author

Choose a reason for hiding this comment

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

OK, I'll reformulate.

@silviapfeiffer
Copy link
Member Author

review again :-)

Copy link
Contributor

@nigelmegitt nigelmegitt left a comment

Choose a reason for hiding this comment

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

Better but still not clear enough for me, sorry!

index.bs Outdated
what CSS styles they support for WebVTT so as to enable identical rendering in browsers and
non-browsers.</p>
will need to implement CSS functionality equivalents. User agents that support a full CSS engine
must limited the CSS styles they interpret for WebVTT so as to enable identical rendering without
Copy link
Contributor

Choose a reason for hiding this comment

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

It's not clear what the "identical rendering" is referring to here - identical to what?

Copy link
Member Author

Choose a reason for hiding this comment

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

Identical to what is rendered when you follow the spec and have CSS functionality.

@dwsinger dwsinger dismissed their stale review December 4, 2017 19:54

re-examining the re-write

@dwsinger
Copy link

dwsinger commented Dec 4, 2017

I think this is still wrong. User agents that don't support CSS don't support CSS, that's why we had to do the colour work. This is about UAs that DO support CSS but DON'T have a full engine; they are only required to support this subset of CSS. Please stay silent on what happens if you have a full engine; I think requiring those implementations to be sure to limit themselves to that subset is adding unneeded pain.

@silviapfeiffer
Copy link
Member Author

@dwsinger No, this paragraph is not about UAs that support CSS partially. I don't think such a class exists. It's about the difference between UAs that support CSS and those that don't support CSS (like VLC). It says that those that support CSS (like Web browsers) must not allow the full capability of their CSS support in WebVTT and this is something I am not going to budge on. It is extremely important that we disallow full engines to allow all their functionality in WebVTT, because if we do, then everyone has to implement the full CSS engine for WebVTT.

Remember the times when Internet Explorer was the dominant Web browser and they implemented functionality that was not in the HTML&CSS standards? What did that do to the other browsers? This paragraph is about avoiding that situation, so we get compatible implementations.

@dwsinger
Copy link

dwsinger commented Dec 4, 2017

OK, there are two problems here, and we should disentangle them. (a) your text talks about non-CSS UAs that only implement a subset. Those are NOT non-CSS UAs, non-CSS UAs don't implement any CSS. (b) then there is the question of what CSS you are allowed to use and the UA is required to support, and whether the UA has to ignore anything else. I'm OK with a parse-time discard on (b). So, the text needs to talk about CSS-supporting UAs only supporting the CSS we document.

@silviapfeiffer
Copy link
Member Author

@dwsinger re (a) Read that sentence properly please. It says:

"Only a limited set of CSS styles is allowed in WebVTT because user agents that do not support CSS
will need to implement CSS functionality equivalents."

this is referring to:
1/ the WebVTT spec specifying a limited set of CSS styles
2/ UAs that don't support CSS
3/ CSS functionality equivalents

It does not say that these UAs implement a subpart of CSS. It says they have to implement functionality equivalents of the limited CSS subset defined in WebVTT.

ad (c) The second sentence says exactly what you are suggesting.

Could you please provide proposed wording changes that make it clearer for you? I really don't know how else to say it more clearly.

@silviapfeiffer
Copy link
Member Author

OK, sounds to me like we need to define our conformance classes better: one that has no CSS support, one that supports the CSS parts that WebVTT uses (see #391) and UAs with a full CSS engine.

@silviapfeiffer
Copy link
Member Author

Is also relate to #389

@dwsinger
Copy link

dwsinger commented Dec 8, 2017

possibly, but I think you argued that the reduced CSS and full CSS engines had to give the same result, so probably only two

@silviapfeiffer
Copy link
Member Author

Not quite. "WebVTT CSS" supporting UAs behave differently, since they don't follow the rendering section to the word. So, it needs an out from some of the spec. I think we need three levels.

1/ No CSS: non-CSS UAs that ignore all CSS

2/ WebVTT CSS: non-CSS UAs that implement functional equivalents to the WebVTT CSS features and therefore are allowed to not follow the text of the specification in the rendering section

3/ Full CSS: CSS-supporting UAs (mostly browsers) that implement the WebVTT CSS functionality as specified

@silviapfeiffer
Copy link
Member Author

Please review #389 . If that one's ok, then we can move forward to reformulate the paragraph here and base it on those three conformance classes. (Incidentally, the third one is not explicitly formulated in #389 because it's implied by the spec.)

Copy link

@dwsinger dwsinger left a comment

Choose a reason for hiding this comment

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

OK

Be very specific that this class has to only support the limited
set of CSS styles specified in WebVTT explicitly.
@silviapfeiffer
Copy link
Member Author

Since #389 landed, I have now updated this PR. I decided to move the paragraph out of an example section into a normative space and it made sense to explicitly define the "Full CSS engine" conformance class for this. Please re-review.

Copy link
Contributor

@nigelmegitt nigelmegitt left a comment

Choose a reason for hiding this comment

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

Minor typo

index.bs Outdated
<dd><p>All processing requirements in this specification apply. However, only a limited set of CSS
styles is allowed because <a>user agents that do not support a full HTML CSS engine</a> will need
to implement CSS functionality equivalents. User agents that support a full CSS engine must
therefore limited the CSS styles they interpret for WebVTT so as to enable identical rendering
Copy link
Contributor

Choose a reason for hiding this comment

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

typo: s/limited/limit

Is "interpret" the right term here, addressing your concerns @dwsinger ? Seems to me that "apply" would be better.

Choose a reason for hiding this comment

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

yes, s/limited/limit/ and "limit the CSS they apply" might be better

Copy link
Member Author

Choose a reason for hiding this comment

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

ok

@silviapfeiffer
Copy link
Member Author

Please re-review

@dwsinger
Copy link

I'm (still) OK

@silviapfeiffer silviapfeiffer merged commit e61761b into w3c:gh-pages Feb 28, 2018
@silviapfeiffer silviapfeiffer deleted the non-browser-css branch February 28, 2018 02:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Wide Review Comment 2017: future styling options mechanism
3 participants