Before we get to that, though, let me say that calendars should be implemented as tables. There has been some confusion on this, and some people have attempted to implement calendars without tables, laying everything out using only CSS. This is misguided. Calendars are data tables, and should be marked up as such, so that screen readers can read them intelligently.
This post was shortened but the concept is clear. Perhaps an absolutely tableless layout isn’t really the point. After all everything has it’s place.