- From: Emrah BASKAYA <emrahbaskaya@hesido.com>
- Date: Sat, 13 Aug 2005 03:18:43 +0300
- To: "www-style.w3.org" <www-style@w3.org>
Summary: We most definitely need a way to make sure transparent images look right when they are loaded, which means we make sure the background-color is altered or set to transparent on image load, but some of us also want to make sure the content is accessible if the image is not loaded / before it can be loaded. Solution: A new background-color value that tells us which color value to switch to when image is loaded: onimageload(color-value) Examples: a) { background-image: url(foo.png); background-color: red onimageload(transparent); } Sets the bg color to transparent when foo.png loads. b) .a, .b {background-image: url(grayishalpha.png);} .a {background-color: #F00 onimageload(#F66);} .b {background-color: #0F0 onimageload(#6F6);} Both classes use same image, but .a bg-color is turned to lighter red, .b to lighter green on image load, because our image gives the necessary contrast but some underlying and matching color would still add to our design, and we save bandwith by not using seperate reddish and greenish alpha images. There may be other reasons why an author would want to ensure necessary contrast before image loads, but not necessarily have the background-color set to full transparent. c) {background: red onimageload(transparent) url(foo.png) no-repeat 50% 50%} Shorthand example. --- For people who have the time; Advantages of this method over any other: *No new property name *No new syntax rules *Suitable for short-hand *Truly in the Cascading Style Sheets logic, no backwards compatibility problems for older UA's, which would be fed the background-color using the old syntax declaring colors with this new method. *The CSS author is not limited to only transparent color on image load, which would be useful on a variety of situtaions. *This way, transparent images will finally be used without the fear of creating accessibility problems ( Whenever you define color, define bg-color motto can finally be practised with transparent images.) For people who have more time; I hope you give full support to this semi-formal proposal. I had given this a shot earlier, while the idea was backed by some, the syntax was not. (background-standin-color), and than the topic was divided to @supported and some other things. I am often using transparent images for backgrounds, and while I am not happy I can't do it the accessible way, I am forced to use them the way it is, as transparent images give me *enourmous* flexibility and scalability. It is not simply a time saver, it is a life saver, design-wise. And I can't take seriously any idea about why we don't need alpha-images for background. With the IE7 -finally- providing proper PNG support, we'll be seeing *even more* uses of this. And if W3 doesn't provide an accessible background/foreground handling solution during the presence of alpha images, it will do a very big harm to the internet, as I am sure designers would be forced used to use transparent backgrounds all over. At least W3 should give people who care for accessibility a big helping hand. The fact transparency in images, multi-bit or not, existed for so long without any proper solution for accessibility is sth that should make all of us concerned. -- Emrah BASKAYA www.hesido.com
Received on Saturday, 13 August 2005 00:19:01 UTC