UI WD sample style sheet

*[accesskey]:enabled
{
 key-equivalent:accesskey-attr(accesskey);
}

*[noresize] { resizer:none }

*[tabindex] { tab-index:attr(tabindex) }

button[disabled], input[disabled],
optgroup[disabled], option[disabled],
select[disabled], textarea[disabled]
{
 user-input:disabled;
}

Quite apart from the omission of readonly, there seems to be no reason why
the elements to which disabled applies should be explictly enumerated, and
yet it is acceptable to have *[tabindex]. Clearly explict enumeration is
better, because *[tabindex] applies to _all_ elements whereas the tabindex
attribute should only affect a limited subset of elements. In addition,
noresize only affects FRAME (although MSIE (quite reasonably) also allows
it to apply to IFRAME) so *[noresize] seems a little pointless.

Correct therefore would be 

A[accesskey]:enabled, 
AREA[accesskey]:enabled, 
BUTTON[accesskey]:enabled, 
INPUT[accesskey]:enabled, 
LABEL[accesskey]:enabled, 
LEGEND/* Is this not an error in the HTML recommendation?
*/[accesskey]:enabled, 
TEXTAREA[accesskey]:enabled, 
{key-equivalent: whatever syntax key-equivalent ends up with}

FRAME[noresize] {resizer: none}

[tabindex]

I would also suggest:

FRAME, IFRAME {margin: 5px /* UA-determined value */;
border: thin solid /* Default value */;
overflow: auto}

FRAME[width], IFRAME[width] {width: attr(width)px}

FRAME[height], IFRAME[height] {height: attr(height)px}

FRAME, IFRAME {content: url(attr(src))}

FRAME[marginwidth], IFRAME[marginwidth] {margin-left: attr(marginwidth)px;
margin-right: attr(marginwidth)px}

FRAME[marginheight], IFRAME[marginheight] {margin-top:
attr(marginheight)px;
margin-bottom: attr(marginheight)px}

FRAME[frameborder=0], IFRAME[frameborder=0] {border: none}

FRAME[scrolling=yes], IFRAME[scrolling=yes] {overflow: scroll}
 
FRAME[scrolling=no], IFRAME[scrolling=no] {overflow: hidden}

IFRAME[align] {vertical-align: attr(align) /* Note that although bottom is
the default value in HTML, in CSS baseline is equivalent to bottom for
inline-level blocks */ }

IFRAME[align=left], IFRAME[align=right] {float: attr(align)}

And incidentally if a way to do frames is desired, FRAMESET {display:
frameset;
rows: attr(rows);
cols: attr(cols)}

FRAME {display: frame} seems the only way to go in terms of mapping,
whereby frames fit in to the spaces made by the frameset one by one 

=====
----------------------------------------------------------
From Matthew Brealey (http://members.tripod.co.uk/lawnet (for law)or http://members.tripod.co.uk/lawnet/WEBFRAME.HTM (for CSS))
__________________________________________________
Do You Yahoo!?
Talk to your friends online with Yahoo! Messenger.
http://im.yahoo.com

Received on Friday, 3 March 2000 13:17:43 UTC