- From: Gérard Talbot <css21testsuite@gtalbot.org>
- Date: Wed, 05 Aug 2015 00:06:49 -0400
- To: Chris Rebert <csswg@rebertia.com>
- Cc: chris@rebertia.com, Public CSS Test suite mailing list <public-css-testsuite@w3.org>
Le 2015-07-27 03:21, Chris Rebert a écrit : > Hi folks, > > I'm trying to get a reviewer for a CSS2 regression test: > https://github.com/w3c/csswg-test/pull/813 > > Basically, WebKit doesn't currently handle position:fixed correctly > when it's also top,bottom,left,right:auto and a child of a > position:relative element. The test asserts the spec'd behavior which > Chrome, Firefox, IE11, and Presto adhere to. > > Thanks, > Chris Chris, Your test is a good test. Indeed iPhone 6, Safari 7+ fail your test. Here's some review comments. 1- There is already a test with the filename position-fixed-001 http://test.csswg.org/suites/css2.1/nightly-unstable/html4/position-fixed-001.htm in the test suite. Fortunately for you, your test, in my opinion, is really about 'left: auto' offset. So, in all fairness, you were destined for a test filename change anyway. 2- <!DOCTYPE html SYSTEM "about:legacy-compat"> Please use <!DOCTYPE html> <meta charset="utf-8"> etc.. just like in the test template: http://testthewebforward.org/docs/test-templates.html#reftest-including-metadata or use <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> 3- <link rel="help" href="https://drafts.csswg.org/css2/visuren.html#choose-position" /> <link rel="help" href="https://drafts.csswg.org/css2/visudet.html#abs-non-replaced-width" /> <link rel="help" href="https://drafts.csswg.org/css2/visudet.html#abs-non-replaced-height" /> Do not link to draft spec as they can change or will change in the future. Shepherd also warns against this. And do not use too many links to spec: here, the test would be inserted into 3 sections of the CSS2.1 (or 2.2) test suite... In my opinion, the last one (visudet.html#abs-non-replaced-height) is not relevant to your test. 4- <meta name="assert" content="An element which is position:fixed should have its position calculated correctly using the absolute model when its top/bottom/left/right properties all use the default `auto` value and its parent is position:relative." /> Avoid use of expressions like "should work correctly", "should be implemented correctly", "should be supported correctly", "should be calculated correctly" and expressions like those in the meta text assert because they do not describe or explain in useful terms what the test is supposed to be testing, checking. 5- #shifted-column { left: 50%; width: 50%; position: relative; float: left; } Please explain what the float declaration is supposed to be doing in that test. Is it really required by your test? Does it do something in particular in your test? Is it a necessary and relevant component of your test? I believe the 'float: left' declaration should not be in your test at all. 6- #green { background-color: green; position: absolute; left: 50%; z-index: 2; } Since the green square is supposed to overlap the red square and since it comes after the red square, then you do not need to set a z-index since "Boxes with the same stack level in a stacking context are stacked back-to-front according to document tree order." 7- p { position: absolute; top: 100px; } It is recommended to start all tests with the pass-fail-conditions sentence and, since it should not be part of the test itself, then we do not want to style it in any way. Sometimes, this is not possible but, I'd say 99% of the time, it is possible. Here's what could be your test with all these changes: http://www.gtalbot.org/BrowserBugsSection/css21testsuite/left-offset-position-fixed-001.xht The 'left: auto' declaration was added on purpose, deliberately, even though we know it is the default, initial box offset. The reference file for that test has not been created yet. One last thing. One other equivalent test could be created with 'direction: rtl', 'position fixed', 'right: auto' for many reasons. Also, same 2 tests but with 'position: absolute'. So, 3 other additional tests with the same basis code are possible here. Gérard -- Test Format Guidelines http://testthewebforward.org/docs/test-format-guidelines.html Test Style Guidelines http://testthewebforward.org/docs/test-style-guidelines.html Test Templates http://testthewebforward.org/docs/test-templates.html CSS Naming Guidelines http://testthewebforward.org/docs/css-naming.html Test Review Checklist http://testthewebforward.org/docs/review-checklist.html CSS Metadata http://testthewebforward.org/docs/css-metadata.html
Received on Wednesday, 5 August 2015 04:07:22 UTC