<?xml-stylesheet href="../../../style/xhtml-full.css" type="text/css"?>
<!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">
 <head>
  <title>Syntax and parsing of unknown pseudo-classes and pseudo-elements</title>
  <meta name="author" content="Ian Hickson"/>
  <link rel="stylesheet" type="text/css" href="../../../style/xhtml-full.css"/> <!-- yes this means compliant UAs get to import this twice -->
  <style type="text/css"><![CDATA[
  p { background: lime; }
  p   * { background: lime; }
  p > * { background: lime; }
  p + * { background: lime; }
  p ~ * { background: lime; }

  /* let's try some pseudos that are not valid CSS but are likely to
  be implemented as extensions in some UAs. These should not be
  recognised, as UAs implementing such extensions should use the
  :-vnd-ident syntax. */

  :canvas { background: red; }
  :viewport { background: red; }
  :window { background: red; }
  :menu { background: red; }
  :table { background: red; }
  :select { background: red; }
  ::canvas { background: red; }
  ::viewport { background: red; }
  ::window { background: red; }
  ::menu { background: red; }
  ::table { background: red; }
  ::select { background: red; }
]]></style>
  <link rel="first" href="css3-modsel-18.xml" title=":hover pseudo-class"/>
  <link rel="prev" href="css3-modsel-159.xml" title="Syntax and parsing of new pseudo-elements"/>
  <link rel="next" href="css3-modsel-177a.xml" title="Parsing : vs ::"/>
  <link rel="last" href="css3-modsel-177a.xml" title="Parsing : vs ::"/>
  <link rel="up" href="./index.html"/>
  <link rel="top" href="../../../index.html"/>
 </head>
 <body>
  <table class="testDescription">
   <tr>
    <th class="b">CSS 3 Module</th> <!-- XXX hard coded to say CSS 3 -->
    <th class="c" colspan="2">
     <a href="css3-modsel-159.xml" title="Syntax and parsing of new pseudo-elements">&lt;==</a>
     Test #
     <a href="css3-modsel-177a.xml" title="Parsing : vs ::">==&gt;</a>
    </th>
   </tr>
   <tr>
    <td class="b">W3C Selectors</td>
    <td class="c" colspan="2">14 of 15 of the interactive tests category</td>
   </tr>
   <tr>
    <th class="b">Testing</th>
    <th class="a">Date</th>
    <th class="a">Revision</th>
   </tr>
   <tr>
    <td class="b">Syntax and parsing of unknown pseudo-classes and pseudo-elements (ID #161)</td>
    <td class="a">2005-11-09</td>
    <td class="a">1.2</td>
   </tr>
  </table>
  <p class="WARNING">NOTE: User interaction is required for this test.</p>
  <div class="testSource">
   <div class="testText">
 <p>This line should have a green background.</p>
 <p>
  UAs may render the following element as a pop up menu. If so, please ensure the menu is unstyled (or green).
  <select size="1">
   <option>This should</option>
   <option>have a green</option>
   <option>background.</option>
  </select>
 </p>
 <table><tr><td>This line should have a green background (or it might be unstyled).</td></tr></table>
 <!-- only allowed to be unstyled if + and ~ are not supported -->
</div>
   <pre class="rules">
  p { background: lime; }
  p   * { background: lime; }
  p &gt; * { background: lime; }
  p + * { background: lime; }
  p ~ * { background: lime; }

  /* let&#39;s try some pseudos that are not valid CSS but are likely to
  be implemented as extensions in some UAs. These should not be
  recognised, as UAs implementing such extensions should use the
  :-vnd-ident syntax. */

  :canvas { background: red; }
  :viewport { background: red; }
  :window { background: red; }
  :menu { background: red; }
  :table { background: red; }
  :select { background: red; }
  ::canvas { background: red; }
  ::viewport { background: red; }
  ::window { background: red; }
  ::menu { background: red; }
  ::table { background: red; }
  ::select { background: red; }
</pre>
   <pre class="rules">
 &lt;p&gt;This line should have a green background.&lt;/p&gt;
 &lt;p&gt;
  UAs may render the following element as a pop up menu. If so, please ensure the menu is unstyled (or green).
  &lt;select size=&quot;1&quot;&gt;
   &lt;option&gt;This should&lt;/option&gt;
   &lt;option&gt;have a green&lt;/option&gt;
   &lt;option&gt;background.&lt;/option&gt;
  &lt;/select&gt;
 &lt;/p&gt;
 &lt;table&gt;&lt;tr&gt;&lt;td&gt;This line should have a green background (or it might be unstyled).&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
 &lt;!-- only allowed to be unstyled if + and ~ are not supported --&gt;
</pre>
  </div>
 </body>
</html>