- From: Ian Hickson <ianh@netscape.com>
- Date: Fri, 6 Oct 2000 19:03:39 -0700 (Pacific Daylight Time)
- To: Bjoern Hoehrmann <derhoermi@gmx.net>
- cc: www-style@w3.org
On Sat, 7 Oct 2000, Bjoern Hoehrmann wrote:
> * "Ian Hickson" <ianh@netscape.com> wrote:
> | > | 1. :default pseudo-class.
> | > | represents the element that will be activated when the user presses
> | > | default
> | > | activate key (normally enter).
> | >
> | > "The :focus pseudo-class applies while an element has the focus (accepts
> | > keyboard or mouse events, or other forms of input)."
> | >
> | > Why do you think this does not apply to a submit button that accepts the
> | > keyboard event "return is pressed"?
> |
> | If the focus is on a text field, but hitting enter activates the submit
> | button (typical behaviour in most UIs and certainly most popular
> | browsers), then the button is not focussed prior to the enter key being
> | hit (and typically not after either).
>
> The button accepts keyboard events, so it has the focus. Thats what the spec
> says. There is no need for a new pseudo-class.
But the input field accepts keyboard events too. Are you seriously saying
that you think two elements at once have focus???
> | > | 2. pseudo-class inversion.
> | > (I think i do not really understand you mean)
> |
> | How would you style target anchors?
>
> something like
>
> a {
> color: black
> }
>
> and
>
> a:link {
> color: red
> }
>
> or
>
> a[href] {
> color: red
> }
Right -- but that means you have to explicitly style the links too. That's
the whole problem. What if you don't know what their style should be?
(e.g. in a user stylesheet, or when the stylesheet is built from many
different ones.)
> If you get pseudo-class inversion i want to have attribute inversion like 'not
> equal', 'does not end with', 'has no attribute' and so on like
>
> a[!href]
> a[href^!"http://www.w3.org"]
> ...
I have also proposed this (using the first syntax you gave!).
Here is the text of my proposal.
NEGATIVE ATTRIBUTE SELECTORS
Proposal: Every attribute selector should have a counterpart that
matches only if the attribute selector would *not* have matched.
Proposed syntax: Add a "!" after the "[".
Examples:
[!title] /* absence */
matches every element that does not have an "title" attribute.
select[!size="1"]
matches every "select" element that either does not have an
attribute "size", or does not have one that is set to "1".
:link[href][!href$="http://"]
matches every unvisited link that has an "href" attribute and whose
href attribute doesn't start with "http://". Without the [href]
then this would also match unvisited links that do not have an
"href" attribute at all.
[!class~="important"]
matches all elements which do not have the class "important".
[!lang|="en"]
matches any elements that do not have the "lang" attribute set, and
any elements that _do_ have the "lang" attribute set but where it
does not start with "en-" and is not "en".
> Maybe at this point we should have a more generic mechanism for inversion,
> maybe others want to style all classes not named "normative" and so on.
You can do this using my :matches proposal, which I have posted and
alluded to many times in the past.
--
Ian Hickson )\ _. - ._.) fL
Netscape, Standards Compliance QA /. `- ' ( `--'
+1 650 937 6593 `- , ) - > ) \
irc.mozilla.org:Hixie _________________________ (.' \) (.' -' __________
Received on Friday, 6 October 2000 22:04:56 UTC