Kevin:
I hadn’t thought of ‘border-color’; good catch. I don’t see any reason why gradient() and url() couldn’t be mixed when employing multiple backgrounds. After all, one of the images in a multi-layered background could be a gradient PNG, so what’s the difference, functionally? Using something like gradient() and url() in any other context doesn’t make much sense to me, though. When dealing with the ‘background’ shorthand, it would I think have to be a value of ‘background-image’ only.
Nathan:
CSS1 and CSS2 borders are also very limited, but that didn’t stop anyone from using what is available effectively. Designers who want more can still use PNG or SVG, but if the working group and implementors think simple gradients are worth considering, stylesheet authors not willing to mess with image editing software still have an easy-to-use option.
Personally I don’t think that CSS needs gradients, but then I don’t think CSS really needs ‘font-family’ or ‘cursor’, either. Obviously a lot of people would disagree with me on this. Nevertheless, I am interested in how gradients should be done right if they are included; it’s a fascinating question.