Forum OpenACS Improvement Proposals (TIPs): TIP #5 (Approved): Default CSS for OpenACS 5.0

I would like to adopt the CSS class definitions used for .LRN and define a default stylesheet for use by packages in our OpenACS 5.0 release.  This is needed to get Dirk's CSS-driven rewrite of the calendar package to play well with .LRN and to allow for site-wide modification of color schemes and the like in the standard OpenACS release.
Collapse
Posted by Jun Yamog on
Hi Don,

I am trying to learn lately pure CSS, tabless layout.  Although I don't suggest we do that on the toolkit.  Doing CSS makes things cleaner.  I would suggest that you look at how http://style.tigris.org did it.  The style project covers NS4 compatibility.  That means they use some table (not too much) use for layout.

Based from my newbie experience of using pure CSS.  What I can say is that:

- Includes and master are better and cleaner.
- I tried experimenting in making a pure CSS form template.  You will be surprised how clean the code gets.  A lot of "if" tags are removed.  It basically becomes a loop of elements only.  I will show the pure CSS layout on the 2nd bcms ui I am making.
- A lot of unlearning needs to be done, for those used to use tables for layout.

Anyway I think we are still far off from pure CSS layout.  But I would suggest a CSS heavy driven toolkit, that just degrades gracefully on older browser.  This will make:

- the adp/html code cleaner
- easier to customize on new browsers

We should aim only graceful degradation not full compatibility for older browsers.  Because if the developer needs full compatibility, its easier to start from a clean adp/html code rather than removing cruff around.

Collapse
Posted by Don Baccus on
Does table-less CSS-based layout work with Netscape 4.7?  The last time we discussed browsers the community reluctantly concluded that NS 4.7 support must be continued for now ...
Collapse
Posted by Jun Yamog on
Hi Don,

4.7 will need to have some tables.  Although in my opinion full compability must not be the target.  But rather just graceful degradation.

If you check this on style.tigris.org

http://style.tigris.org/nonav/docs/sampler.html (this is NS 4 compat, but with not too messy tables used)
http://style.tigris.org/nonav/docs/sampler_inst.html (Using the same exact html and just changing the css you get this)

If we strive for full compatibility with NS 4 then we can throw away any real progress.  We just support it but not full compatibility.  As in same exact look on NS 4 and NS 7.  The target must be lower.  Like:

- same layout
- pages are still functional

Aside from that I think we should not target anything else.  Using simpler html targeted for NS 7 or IE 6 is easier to add compatibility stuff for NS 4.  The other way of making NS 4 full compat and removing stuff for newer browser is harder.  Well atleast this is my opinion and based from my experience.

Collapse
Posted by Talli Somekh on
I have at least one client that requires the use of NS4.7 because their target audience are engineers using Solaris workstations. Apparently Solaris desktops still come with NS4.7 default, or the IT departments of these joints are so security/operability conscious they haven't upgraded their systems to Moz 1.x.

That being said, it seems there is an increasing sentiment to screw NS4.7 support throughout the web dev world, particularly in the OACS community. If, a Jun says, there's a way to provide partial support for NS4.7 but no longer go out of our way, sounds good to me.

Also, isn't 95%+ of the net using IE5+?

talli

Collapse
Posted by xx xx on
http://www.mark.ac/writing/cssnn4.php
http://www.saila.com/usage/layouts/
Tableless layouts for NN4.* should be possible, they say.

Most don't like and won't use browser sniffing. However, I think it should be a standard feature of openACS, if openACS starts to use standard CSS. There is no CSS that will render the same result in all browsers. Browser sniffing should be a flexibility feature of openACS. Some may want perfect layout support for netscape because we rely on AOLserver for example...

What do others think?

Collapse
Posted by Torben Brosten on
I believe the discussions about NN4.7 are largely based on the goal of meeting Web content Accessibility Initiatives(WAI)[1]. WAI was discussed at the Copenhagen Conference[2][3][4] since educational institutions are interested in meeting the guidelines.

How do the CSS class definitions used for .LRN meet WAI? Or, more aptly, do they fail gracefully, such as with NN4.7 or lynx?

1. http://www.w3.org/TR/WAI-WEBCONTENT/
2. http://www.collaboraid.biz/events/copenhagen-2003/
3. https://openacs.org/forums/message-view?message_id=92332
4. https://openacs.org/forums/message-view?message_id=92524

Collapse
Posted by Andrei Popov on
In most cases lynx will render DIV (which I presme is a candidate for TABLE replacement) adequately.  By this I mean that it will simply display each DIV in the order of it's appearance on the page.  Which is essentially the same as it does for TABLE.
Collapse
Posted by Andrei Popov on
As far as "graceful degradation" is concerned: http://sdm.openacs.org/new-file-storage/one-file.tcl?file_id=484
Collapse
Posted by Steve Ivy on
I think we should try and move forward, supporting 5+ browsers and allowing the code to degrade with a modicum of grace for older browsers.

Also, I think that trying to move toward fulfilling the WAI Guidelines is a good thing. I've got a client right now that is asking for this (it's a guide dog school) and it's going to mean some modifications to OpenACS itself to achieve.

Collapse
Posted by Andrei Popov on

To put a little bit more gas into this fire, some stats on current "brokeness" of OpenACS w.r.t. web standards:

  • Total number of .ADP files: 1171
    • Number of .ADP files with unquoted attributes: 951 (that is 90%!)
    • Number of pages with <br> or <hr> instead of <br /> or <hr />: 547/739 respectively
    • Number of pages that use FONT tag: 243
    • Number of pages, where <p[ >] and </p> counts are different (P is likely to be left open): 356
    • The same for LI: 140

These counts may not be too accurate, but I am sure they are pretty close.

Collapse
Posted by Lars Pind on
In order to encourage this, I've created a file, www/default-master.css, where site-wide OpenACS styles can now be placed.
Collapse
Posted by Roberto Mello on
I meant to do this myself, but Don beat me to it 😊
Collapse
14: Approved (response to 1)
Posted by Steve Ivy on
One more note on older browser support. We need to define "support". If it means that the pages render the same in older browsers as newer ones, then we're never going to get there. If it means "usable", then I think it can be achieved.

Multi-column CSS layouts can be built that will render very simply in older browsers, by using various css hiding tricks to provide a basic stylesheet for the older browsers, which is then overidden by an advanced stylesheet for those browsers that support it.

--Steve

Collapse
Posted by Caroline Meeks on
Lars, is default-master.css in CVS? I'm not finding it.

Thanks