Excuse me adrian for this late answer,
Your table explanation is clear and I agree with that.

On tables managing a designer and then a precise visual improvement is interresting and remains simple. We are in a well-defined element.

Good point that we agree!

Now on icons, the problem is wider than table since we have different domains:
 * icons on submit button can be associate only to a style
* icons on menu, a little harder than button, maybe given the possibility to use menu name as class style
 * icons on field (diplay or text) for user eye pleasure
* icons on hyperlink for user charm and reduce screen in carrying management information (ex : mail icons with title-image that contains email address).

For each case I wish :
 * Having generic system that simplify / limit developer possibility
 * Manage style icons by the theme
* Keep the concept of condensing information through icons, which is a real user need when using lists

I suggest, if you agree to bring your vision for its proper integration issues, to create some jira that explain for each case :
 * improvements expected
 * Solution used at this time on internal projects
 * How I see the solution

From that we can work with own different visions
Nicolas

Le 29/04/2011 14:53, Adrian Crum a écrit :
To understand our differences a little better, it might help to set aside the subject of icons for a moment and consider another visual element - the HTML <table> element. I believe the way HTML tables are handled in OFBiz represents a good balance between developers and theme designers. If we can agree on how tables are handled, then maybe we can apply the same concept to icons and agree on those too. If we can't agree on how tables are handled, then... well... we will just have to agree to disagree. ;-)

OFbiz provides a CSS class for basic <table> element layout - called basic-table. That class provides simple positioning and spacing. The basic-table class is intended to be "decorated" with other classes to add other visual embellishments. A developer can add light-grid or dark-grid CSS classes to basic-table to give it a grid. A developer can add a hover bar to a table by adding the hover-bar CSS class to basic-table. This CSS class decorator pattern has been in use for a while now, and it seems to be a good approach because it gets used a lot.

The developer is free to choose which classes make the most sense for the screen they are developing. What the developer CAN'T do is specify what those classes look like - that is left up to the theme designer. The CSS classes are a way for the developer to give the theme designer hints about what a particular HTML element should look like without being specific about its visual appearance.

The theme designer controls the positioning and spacing in basic-table. The theme designer controls the color and line thickness of light-grid and dark-grid. The theme designer controls the appearance of hover-bar. Different themes might style those classes differently, but what remains consistent across themes is that they are all used in the same way. An HTML <table> element styled with "basic-table light-grid" will always have a light grid - regardless of the theme. Now, here is something interesting to think about - a theme designer could choose not to style the grids, and eliminate table grids altogether. There is no "law" saying that all CSS classes must be styled. A theme that eliminates grids may or may not get used - it depends on the user. Some users might prefer to have grids turned off - so they would select the "gridless" theme. ***This is where the balance between developer and theme designer comes in*** - the developer provides a hint that a table should have grids, but the developer doesn't force grids on the theme designer or the user.

Now let's apply the icon conversation to the HTML <table> element example. What has been suggested is that all themes be made consistent by hard-coding table grids in the markup. When I objected to that, it was suggested that table grids can be enabled/disabled by a user setting. For the sake of compromise I agreed to that, but I believe it is unnecessary because a user could simply choose a theme that has grids enabled or disabled.

To summarize: What I am advocating is that we treat icons the same way as we do all other visual elements - let the theme designer have control of their use. I see no valid reason why icons should be treated differently. Users who want icons will choose a theme that uses them. Users who don't want icons will choose a theme that doesn't use them. The system we use now is flexible and it works - it doesn't need to be changed.


--
Nicolas MALIN
Consultant
Tél : 06.17.66.40.06
Site projet : http://www.neogia.org/
-------
Société LibrenBerry
Tél : 02.48.02.56.12
Site : http://www.librenberry.net/

Reply via email to