RE: Normative dependency on CSS3 Fonts in WOFF 1.0

Hi Chris, all,

Thank you Chris for spotting this and for developing an additional test case. I absolutely agree with your suggestions to add the missing test to the CTS and remove the dependency by changing the first assertion and moving the reference to CSS3 Fonts module to the informative references section.

Adding this new test to the CTS doesn't seem to have an adverse impact on the overall UA test results and we are good to go with the promotion of the WOFF 1.0 spec to the Proposed Recommendation.

Thank you,
Vlad


> -----Original Message-----
> From: Chris Lilley [mailto:chris@w3.org]
> Sent: Thursday, June 07, 2012 2:02 PM
> To: WOFF Working Group
> Subject: Normative dependency on CSS3 Fonts in WOFF 1.0
> 
> Hello,
> 
> Looking over the WOFF specification at the normative references, all
> are stable except for one - CSS3 Fonts, currently Working Draft. This
> means that WOFF 1.0 must explain why it references an unstable spec (to
> go to Proposed Rec) and cannot move to Rec (until CSS3 Fonts is at
> Proposed Rec).
> 
> Besides passing mentions (in the changes appendix, related to now-
> removed at-risk features) there are two normative references in section
> 2: general Requirements.
> http://dev.w3.org/webfonts/WOFF/spec/#General
> 
>   The primary purpose of the WOFF format is to package fonts linked to
>   Web documents by means of CSS @font-face rules. User agents
>   supporting the WOFF file format for linked fonts MUST respect the
>   requirements of the CSS3 Fonts specification ([CSS3-Fonts] Section
>   4.1: The @font-face rule). In particular, such linked fonts are only
>   available to the documents that reference them; they MUST NOT be
>   made available to other applications or documents on the user's
>   system.
> 
> Dissecting this: first we have an introductory statement about the
> primary purpose. This does not use normative wording but does imply
> that secondary purposes could exist (e.g. other linking mechanisms,
> non-Web use).
> 
> The first conformance statement is flagged for user agents, and is
> rather vague http://dev.w3.org/webfonts/WOFF/spec/#conform-css3font
> 
> it basically says that if you use @font-face (defined in CSS3 Fonts)
> then you must conform to CSS3 Fonts. This seems well-intentioned but
> tautological and rather redundant (similarly if you use HTML then
> conform to the HTML spec, if you fetch using HTTP then conform to the
> HTTP spec, HTTP runs over TCP/IP so conform to that spec, and so on).
> 
> Looking at the test plan for user agents
> http://www.w3.org/Fonts/WG/wiki/TestPlan-UserAgent
> 
> there is no discussion of this requirement, which I believe is because
> the current section 2 was originally part of the introduction and was
> non-normative (despite using MUST). We then noticed the normative
> wording so moved it out of the intro to a new section, but did not
> update the test plan or the test suite.
> 
> Testing of this requirement would be possible, it basically means 'pass
> the CSS3 Fonts test suite'. I believe that this originally introductory
> prose on the aim and scope of the specification was incorrectly
> promoted to a testable assertion. The place for such a requirement is
> surely in the CSS3 Fonts spec itself, not here.
> 
> The second conformance statement is also flagged for user agents and is
> more specific http://dev.w3.org/webfonts/WOFF/spec/#conform-css3font-
> available
> 
> This statement is the sole survivor of the Origin section (same-origin,
> doc-origin, CORS) most of which was marked as at-risk in CR and then
> removed. CSS3 Fonts isn't specifically cited there.
> 
> The test plan does cover this
> http://www.w3.org/Fonts/WG/wiki/TestPlan-UserAgent#css3font-available
> and describes how it might be tested. We don't have a test case
> http://dev.w3.org/webfonts/WOFF/tests/UserAgent/Tests/xhtml1/testcasein
> dex.xht
> 
> Following the test plan, I made a quick test which consists of three
> html files - a wrapper and two files referenced through iframes.
> 
> The wrapper has the metadata for test assertions, the boilerplate text
> on downloading fonts and telling whether the test passed, and the two
> iframe elements. Pass criterion is that 'PASS' is displayed *twice*
> 
> The first referenced file is a copy of valid-001 with the metadata
> altered and the boilerplate removed.
> 
> The second referenced file is the same as the first except the @font-
> face is also removed and P is changed to F. If the WOFF font is loaded
> (for example, if the browser applies any font it finds in the browser
> cache) then you will get FAIL.
> 
> Here is the test
> http://dev.w3.org/webfonts/WOFF/tests/UserAgent/Tests/xhtml1/available-
> 001.xht
> 
> So far Firefox (15.0a1 nightly), Opera (12a) and Chrome (19) pass; IE9
> fails. I don't have results for Safari or for IE10, and since this is
> an access test with a deliberately missing WOFF file, there is nothing
> for the validator to test.
> 
> My conclusions from all this are that we should:
> 
> a) add this missing test to the test suite, and update the
> implementation reports to add results for it
> 
> b) change the first assertion by
>   - removing the assertion markup
>   - changing MUST to must
> 
> c) Move CSS3 Fonts from the normative to the informative references
> section, as the changes at b) make it informative.
> 
> 
> --
>  Chris Lilley   Technical Director, Interaction Domain
>  W3C Graphics Activity Lead, Fonts Activity Lead  Co-Chair, W3C
> Hypertext CG  Member, CSS, WebFonts, SVG Working Groups
> 

Received on Wednesday, 13 June 2012 14:33:39 UTC