cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Wallez <sylv...@apache.org>
Subject Re: [VOTE] Naming rule for HTML IDs generated by CForms
Date Sun, 06 Nov 2005 13:01:27 GMT
Carsten Ziegeler wrote:
> Sylvain Wallez wrote:
>   
>> So please choose one proposal below:
>>
>> [ ] "foo.bar:input"  (colon, not CSS-friendly because of IE)
>> [ ] "foo.bar..input" (double period)
>> [ ] "foo.bar.input." (trailing period)
>> [ ] "foo.bar._input" (underscore, requires to forbid it as the beginning 
>> of widget names)
>>
>>     
> Sorry for stepping in very late, but to me all of these solutions look
> rather ugly. If I only have the choice between the four from above, I
> would go for the underscore solution.
>
> But why can't we just use "bar-input" and forbid to use id's that end
> with "-input"? Or forbid the use of '-'?
>   

Oh please, go read the threads.

We cannot forbid "-" in widget names, as it's used in too much 
occasions. And the problem is not only "-input" but also "-cal", 
"-help", "-toolbar", "-combobox", "-resize-handle" or "-whatever" will 
come out from advanced stylings.

So we need a *general* rule for all generated IDs that ensures no one 
will ever conflict with widget names. We then structurally avoid and 
problem in the future, whatever mapping people invent between a widget 
and its HTML rendering.

Also, if you read the thread, you will notice that this notation is 
almost transparent to _user_ (not styling writers) as the use of these 
generated IDs will mostly be restricted to plug additional behaviour to 
inputs and in that case they can use form.inputs['foo.bar'] which is 
totally independent from the naming rule used.

The other case where these IDs may be used is for CSS rules, but I 
consider that this will be very unfrequent as most often, CSS class 
selectors will be used to style a whole family of widgets rather than 
individual ones, for which they can use a specific class anyway. And 
even for an individual widget, it's IMO better to define an additional 
CSS class rather than using the full ID, as it decouples class rules 
from widget names.

My initial proposal, using ':' was IMO the cleanest, but some issues 
were raised with the way this character has to be escaped in CSS rules 
with IE. Even if, again, I think CSS class selectors will be used much 
more often than CSS ID selectors.

Sylvain

-- 
Sylvain Wallez                        Anyware Technologies
http://people.apache.org/~sylvain     http://www.anyware-tech.com
Apache Software Foundation Member     Research & Technology Director


Mime
View raw message