473,805 Members | 2,001 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Specifying multiple cursor types - invalid, right?

The following declaration was posted to a forum:

cursor: url('path/some.cur'), hand, pointer, text, default;

and I'm having a hard time convincing the poster that it's invalid.

First of all, I suppose it should be established that it /is/ invalid.
The following excerpt is taken from the CSS 2 specification (and
appears unaltered in CSS 2.1):

'cursor'

Value: [ [<uri> ,]* [ auto | crosshair | default | pointer | move
| e-resize | ne-resize | nw-resize | n-resize | se-resize
| sw-resize | s-resize | w-resize | text | wait | help ] ]
| inherit

Clearly, only one keyword may appear in a single declaration, and only
multiple URI values can appear, separated by commas. However, if a
user agent encounters a declaration that doesn't follow that pattern,
what is the expected behaviour?

I would have assumed that the declaration would be marked erroneous
and ignored, but it seems - at least with the W3C validator - that
anything after the first keyword is ignored[1]. Could the reason be
that the first keyword encountered simply stops the parser from
iterating over the remaining values? If that is so, shouldn't the
validator continue so it can alert the author to the problem?

I realise that validators are but tools and are no substitute for
sound knowledge of the language they attempt to test, but try
explaining that to some people...

Mike
[1] The order of the keywords in the example should be changed so that
'hand' isn't the first to be encountered.

--
Michael Winter
Replace ".invalid" with ".uk" to reply by e-mail.
Jul 21 '05 #1
6 3342
Michael Winter schrieb:
The following declaration was posted to a forum:

cursor: url('path/some.cur'), hand, pointer, text, default;

and I'm having a hard time convincing the poster that it's invalid.

First of all, I suppose it should be established that it /is/ invalid.
The following excerpt is taken from the CSS 2 specification (and appears
unaltered in CSS 2.1):

'cursor'

Value: [ [<uri> ,]* [ auto | crosshair | default | pointer | move
| e-resize | ne-resize | nw-resize | n-resize | se-resize
| sw-resize | s-resize | w-resize | text | wait | help ] ]
| inherit

Clearly, only one keyword may appear in a single declaration, and only
multiple URI values can appear, separated by commas. However, if a user
agent encounters a declaration that doesn't follow that pattern, what is
the expected behaviour?

I would have assumed that the declaration would be marked erroneous and
ignored, but it seems - at least with the W3C validator - that anything
after the first keyword is ignored[1]. Could the reason be that the
first keyword encountered simply stops the parser from iterating over
the remaining values? If that is so, shouldn't the validator continue so
it can alert the author to the problem?

I realise that validators are but tools and are no substitute for sound
knowledge of the language they attempt to test, but try explaining that
to some people...

Mike
[1] The order of the keywords in the example should be changed so that
'hand' isn't the first to be encountered.


To add: hand should not be used because it is M$ only and not recognized
by Firefox.

Klaus
Jul 21 '05 #2
Klaus Krtschil wrote:

[snip]
To add: hand should not be used
In general it shouldn't...
because it is M$ only [...]


but if versions prior to IE6 are a concern, using 'hand' will be a
necessity.

Mike

--
Michael Winter
Replace ".invalid" with ".uk" to reply by e-mail.
Jul 21 '05 #3
On Wed, 09 Mar 2005 18:45:09 +0100 Klaus Krtschil wrote:
Michael Winter schrieb:
The following declaration was posted to a forum:

cursor: url('path/some.cur'), hand, pointer, text, default;

and I'm having a hard time convincing the poster that it's invalid.

First of all, I suppose it should be established that it /is/ invalid.
The following excerpt is taken from the CSS 2 specification (and appears
unaltered in CSS 2.1):

'cursor'

Value: [ [<uri> ,]* [ auto | crosshair | default | pointer | move

|> e-resize | ne-resize | nw-resize | n-resize | se-resize
|> sw-resize | s-resize | w-resize | text | wait | help ] ]
|> inherit

Clearly, only one keyword may appear in a single declaration, and only
multiple URI values can appear, separated by commas. However, if a user
agent encounters a declaration that doesn't follow that pattern, what is
the expected behaviour?

I would have assumed that the declaration would be marked erroneous and
ignored, but it seems - at least with the W3C validator - that anything
after the first keyword is ignored[1]. Could the reason be that the
first keyword encountered simply stops the parser from iterating over
the remaining values? If that is so, shouldn't the validator continue so
it can alert the author to the problem?

I realise that validators are but tools and are no substitute for sound
knowledge of the language they attempt to test, but try explaining that
to some people...

Mike
[1] The order of the keywords in the example should be changed so that
'hand' isn't the first to be encountered.


To add: hand should not be used because it is M$ only and not recognized
by Firefox.

Klaus


Firefox will accept the cursor statement.
I've done it before.
Jul 21 '05 #4
On Wed, 09 Mar 2005 16:15:01 GMT Michael Winter wrote:
The following declaration was posted to a forum:

cursor: url('path/some.cur'), hand, pointer, text, default;

and I'm having a hard time convincing the poster that it's invalid.

First of all, I suppose it should be established that it /is/ invalid.
The following excerpt is taken from the CSS 2 specification (and
appears unaltered in CSS 2.1):

'cursor'

Value: [ [<uri> ,]* [ auto | crosshair | default | pointer | move |> e-resize | ne-resize | nw-resize | n-resize | se-resize
|> sw-resize | s-resize | w-resize | text | wait | help ] ]
|> inherit
Clearly, only one keyword may appear in a single declaration, and only
multiple URI values can appear, separated by commas. However, if a
user agent encounters a declaration that doesn't follow that pattern,
what is the expected behaviour?

I would have assumed that the declaration would be marked erroneous
and ignored, but it seems - at least with the W3C validator - that
anything after the first keyword is ignored[1]. Could the reason be
that the first keyword encountered simply stops the parser from
iterating over the remaining values? If that is so, shouldn't the
validator continue so it can alert the author to the problem?

I realise that validators are but tools and are no substitute for
sound knowledge of the language they attempt to test, but try
explaining that to some people...

Mike
[1] The order of the keywords in the example should be changed so that
'hand' isn't the first to be encountered.

It would appear the person is attempting to create their own set of rules.
What would be the point of trying to force the use of a cursor style
enmasse?
Is the person thinking he can trick the browser into a multiple guess
situation and use which ever one is best suited or what?
Obviously the person hasn't even bothered to understand what can be applied
to the statement.
If I'm not sure of what's allowed in a condition, I will most certainly use
the resources of the WWW and find out.
And just maybe the person just does not understand what | means.
Jul 21 '05 #5
Richard wrote:

[snip]
Is the person thinking he can trick the browser into a multiple guess
situation and use which ever one is best suited or what?
I believe the intent was to use the behaviour a user agent should
adopt when given a list of URI values: if the first resource is
unsupported, use the second, and so on.
Obviously the person hasn't even bothered to understand what can be applied
to the statement.
The person is an idiot who refuses to accept he's wrong. The problem
is that he seems to think that the validator supports his case. That's
why I brought that up. He even thought that a W3C example - two URI
values, followed by a keyword - somehow proved me wrong.
If I'm not sure of what's allowed in a condition, I will most certainly use
the resources of the WWW and find out.
There's no need. I was confident in my assessment, but it's nice to
have someone say, "You're right." I'm assuming (and it's generally a
fairly safe assumption on Usenet) that as none of the regulars have
jumped on what I've said as latently wrong, that I am in fact correct.
And just maybe the person just does not understand what | means.
No, I explained the notation and walked through what the specification
states, as a result.

[From your other post:]
Firefox will accept the cursor statement.


Klaus wasn't saying that the cursor property is proprietary, but that
the hand value (Microsoft's early equivalent to pointer) is, which is
correct.

Mike

--
Michael Winter
Replace ".invalid" with ".uk" to reply by e-mail.
Jul 21 '05 #6
*Michael Winter* <m.******@bluey onder.co.invali d>:

cursor: url('path/some.cur'), hand, pointer, text, default;

First of all, I suppose it should be established that it /is/ invalid.


It is indeed, but you might want to ask on www-style whether it is really
intended to be. If it's not, it's not yet too late to be changed in
CSS*2.1.

Anyhow, the IE 'hand' issue is usually resolved with multiple 'cursor'
rules inside one ruleset.

--
"For every human problem, there is a neat, simple solution;
and it is always wrong." H. L. Mencken
Jul 21 '05 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

11
9036
by: Alban Hertroys | last post by:
Oh no! It's me and transactions again :) I'm not really sure whether this is a limitation of psycopg or postgresql. When I use multiple cursors in a transaction, the records inserted at the start of the transaction aren't visible to those later on in that transaction (using a different cursor). Attached is a simplified example (the except's are a bit blunt, I know) of what I'm trying to do. In reality, the different cursors are...
8
14414
by: Dave Moore | last post by:
Is there any way to specify an istream separator sequence? For example, suppose I have a record consisting of a list of comma-separated values (no whitespace). I want to set the istream up so that formatted input operations using operator>> will recognize the comma as a field separator. I know how to do this for an output stream using an ostream_iterator, but there doesn't seem to be an analogous way to handle it using istream_iterator. ...
32
14917
by: tshad | last post by:
Can you do a search for more that one string in another string? Something like: someString.IndexOf("something1","something2","something3",0) or would you have to do something like: if ((someString.IndexOf("something1",0) >= 0) || ((someString.IndexOf("something2",0) >= 0) ||
0
2532
by: haegens | last post by:
I am making a .NET Application which has a TreeView Control in it. I have 3 levels of nodes. The toplevel is a rootnode which contains all other nodes. The second level holds one kind of nodes that have one type of objects assigned to the tag property. The third level holds another kind of nodes. Also this level has one type of objects assigned to the tag property. The objects that are assigned in the third level nodes, are child objects of...
0
9596
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10604
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
10361
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
10103
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
7644
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6874
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5536
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5676
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
3839
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.