CSS implementation status reports (and a first one from Mozilla)

I think it is good for the progress of the Web if browsers implement
the same standards, since standards only become useful to Web
authors once either (a) a significant portion of their users use
browsers implementing the standard, or (b) nearly all of their users
do.  (Which of (a) or (b) depends on whether the use of the standard is
essential to viewing the Web page or an optional enhancement.)

Therefore, I'm going to suggest that browser implementors start
sharing regularly lists of what parts of CSS they believe they
implement and what parts they are likely to work on in the near
future, so that other browser makers can adjust their plans
accordingly in order to advance the progress of the Web.

To that end, I've prepared a first such report for Mozilla's CSS
implementation status.  (In this report, I'm listing only the sets
of features implemented; I'm not listing particular bugs, although
it might at some point be worth listing particularly important
bugs.)

-David


Mozilla CSS Implementation Status

  Features listed without notes about version are implemented in
  Firefox 3.5 betas; features already implemented but not in Firefox
  3.5 betas are noted specifically (if I remembered to note them
  correctly, at least).

  This is largely an "off the top of my head" list, and I've likely
  made a few mistakes while writing it.  It's certainly not a
  promise of support.

  It's also intended only to be a list of features, not a list of
  bugs in the implementations of those features, so "complete
  support" means "all features implemented", not "all features
  implemented and bug-free".

CSS 2.1
  All features except for:
    display: run-in
    @page
    page-break-*: avoid | left | right
      (and page-break-*: always isn't very well implemented)
    orphans
    widows
    aural CSS (appendix)

selectors3
  complete support for 10 March 2009 working draft

css3-namespace
  complete support

css3-color
  complete support (except for not doing gamma correction)

css3-mediaqueries
  complete support (as it applies to devices we support)

css3-background
  All CSS 2.1 features in the draft
  fallback background-color (for release after Firefox 3.5)
  background-clip (with prefix and slightly different value names)
  background-origin (with prefix and slightly different value names)
  background-break (for inlines only, as -moz-background-inline-policy)
  multiple background layers (for release after Firefox 3.5)
  border-image (with prefix)
  border-radius (with prefix)
  box-shadow (with prefix)

css3-fonts
  All CSS 2.1 features in the draft
  font-size-adjust (also in CSS 2.0)
  @font-face:
    src (handle TrueType and OpenType fonts)
    font-family
    font-weight
    font-style

css3-multicol
  all properties except for:
    column-break-before
    column-break-after
    column-span
  (do we implement the model completely?)

css3-values
  All CSS 2.1 features in the draft
  initial (with prefix)
  'ch' unit
  'rem' unit (for release after Firefox 3.5)

css3-box
  overflow-x and overflow-y
  width | min-width | max-width : min-content | max-content | fit-content 
    (with prefixes)

css3-text
  All CSS 2.1 features in the draft
  text-shadow
  word-wrap

css3-ui
  appearance (with prefix and some substantial differences, probably
    mostly interoperable with WebKit)
  outline-offset
  :default
  :required, :optional, :valid, :invalid, :in-range, :out-of-range (with
    XForms extension only, I think)
  :read-only, :read-write (with prefixes, I think because of bugs or
    other differences)
  box-sizing (with prefix)
  cursor (additional values over CSS 2.1)

css-2d-transforms
  complete support for CSS properties/values (with prefix for properties)
  (no API support)
  
SVG 1.1
  clip-path
  clip-rule
  color-interpolation
  color-interpolation-filters
  dominant-baseline
  fill
  fill-opacity
  fill-rule
  filter (no support for BackgroundImage, BackgroundAlpha, FillPaint, or
    StrokePaint inputs)
  flood-color
  flood-opacity
  lighting-color
  marker
  marker-end
  marker-mid
  marker-start
  mask
  pointer-events
  shape-rendering
  stop-color
  stop-opacity
  stroke
  stroke-dasharray
  stroke-dashoffset
  stroke-linecap
  stroke-linejoin
  stroke-miterlimit
  stroke-opacity
  stroke-width
  text-anchor
  text-rendering
  (probably a bunch of limitations in these that I don't know off the
  top of my head)

SVG 1.1 properties also applied to HTML
  clip-path
  filter
  mask
  text-rendering

flexbox
  box-orient, box-direction, box-align, box-flex, box-pack (with prefixes)

becss
  binding (with prefix, and for XBL1 rather than XBL2, for now)
  :bound-element (with prefix; same as above)

no module, but probably should be in one
  outline-radius (with prefix)



Things we are likely to look at implementing in the near future (no
promises) are:
  rest of css3-background (except background-clip: no-clip)
  css3-transitions
  'font-stretch'
  support for SVG fonts as a downloadable font format
  implementing XBL2 for 'binding'
  rest of 'page-break-*'
  display: run-in
  text-overflow
  more parts of css3-values
  applying 'pointer-events' to HTML
  ::selection (from previous CR of selectors3)
  'unicode-range' @font-face descriptor
  CSS gradients
  SVG 'image-rendering'
Probably the new CSS features that end up in the Firefox release
after 3.5 will be a subset of these (plus of course the ones already
implemented listed above), plus others that I haven't mentioned
here.

-- 
L. David Baron                                 http://dbaron.org/
Mozilla Corporation                       http://www.mozilla.com/

Received on Thursday, 19 March 2009 14:23:56 UTC