Ticket #1095 (closed defect: fixed)

Opened 14 years ago

Last modified 14 years ago

Tableless rendering uses the "overflow-x" CSS3 property

Reported by: madarche Owned by: jmorliaguet
Priority: P3 Milestone: unspecified
Component: CPSSkins Version: TRUNK
Severity: normal Keywords: accessibility
Cc:

Description

The tableless rendering of the default page of the "CPS3 Default theme" uses the "overflow-x" CSS3 property.

This should be avoided if possible since the CSS3 standards is not yet finalized and when one tries to validate CPS CSS one gets errors from the W3C CSS validator.

A possible solution could be to use the "One True Layout" technique in its flavor "Any Order Columns + Equal Height Columns":  http://positioniseverything.net/articles/onetruelayout/print

This would also improve the look of the actual tableless rendering when it comes to equal height column background.

Change History

comment:1 Changed 14 years ago by jmorliaguet

To be honest this is a huge refactoring that could break lots of sites (also they say on the page that the method broke on gecko after only a week). The current method hasn't broken in more than a year, (because it is very simple).

I understand trying different methods, but the rationale about "avoiding using a CSS3 property" ...

You can try replacing 'overflow-x' with 'overflow' which is a CSS2 property and it will work just as well since 'overflow' emcompasses 'overflow-x' and 'overflow-y.

comment:2 Changed 14 years ago by madarche

Yes at the moment the "One True Layout" technique doesn't work fine only for the latest gecko builds. But this is due to a recognized gecko bug that the Mozilla Foundation said is important and will be fixed for the release of Firefox 1.5. The Mozilla Foundation sees the "One True Layout" technique as a technique to spread the use of pure CSS based layouts.

I have only opened this bug so that we can discuss the matter and not to try to break existing sites.

Agreed, I will try to specify only 'overflow' and would then report here. This solution suites me just fine.

And when I have time I could create and test another table rendering called "Tableless 2". And if it behaves well I could put it in CPSSkins if you agree?

comment:3 Changed 14 years ago by jmorliaguet

sure no problem. Just to let you know: creating a new rendering engine (One-True-Layout(tm) or whatever new technique comes next), is much easier with the Zope3 version that I'm working on, since the rendered markup is completely separated from the rendering engine.

there is a small refactoring to do, but each block and cell will be associated with a filter that renders the markup used by the tabless technique chosen. So creating a new tabless renderer will consist in:

  • creating a pageblock filter (that in table-mode renders <table><tr>)
  • creating a cell filter (that in table-mode renders <td>)
  • register the new engine
  • register the static CSS-layout part

comment:4 Changed 14 years ago by madarche

I will come back to this ticket when I need the information for the Zope3 version. Thanks.

comment:5 Changed 14 years ago by madarche

I have replaced 'overflow-x' with the 'overflow' CSS2 property and it seems to work fine after some tests done both on Firefox and MSIE 6.

I agree that this is logical that it works, but testing it confirms it.

Jean-Marc, can I commit this change and then close this bug?

comment:6 Changed 14 years ago by jmorliaguet

  • Status changed from new to closed
  • Resolution set to fixed

fixed in [29050]

Note: See TracTickets for help on using tickets.