inicio mail me! sindicaci;ón

OpenLaszlo Layout

If you’ve ever read my blog before, you will probably have seen my various experiments with the OpenLaszlo RIA platform. Eventually i plan to put all of the various tidbits i have learned together, and make something of use with it.

Before i do that though, i still have a few things to get my head around. One of them is how OpenLaszlo manages to make layouts work in its DHTML runtime.

<!-more->
First of all, for those of you that don’t know, OpenLaszlo’s presentation model is quite simple – everything you see and manipulate is what is known as a view. It’s as simple as that. All other visual tags are derived from a “view”.

Comparing this to HTML with its multitude of base tags, the concept of everything being a view is a pretty generic concept. This is of course great for portability. But as with anything generic, it tends to skimp past the specifics.

Div galore

As illustrated above, in mapping the concept of everything being a view to HTML OpenLaszlo makes every element a multitude of div tags, loosing a lot of the original semantics. Each div tag is positioned absolutely, and relies on supporting JavaScript code for positioning. To complicate matters, not all of these div’s are visible. These invisible div’s are typically used to handle click events.

Thinking further, mapping OpenLaszlo layouts to HTML in this way makes perfect sense. There are very few direct mappings of OpenLaszlo tags (or classes) to HTML tags.

However i fear that this approach has a lot of drawbacks particularly with regards to accessibility. Not having used any specific assistance tools for browsing the web, i can’t say anything definitive. But i’d imagine that the barrage of div tags would be much more difficult to process through than a W3C compliant website full of semantic markup like h1, p, a, img, etc.

All things considered though, this approach to Layout gives the designer unprecedented freedom of how a web site should look, which IMO is a good thing.

 

Trackbacks

(Trackback URL)

close Reblog this comment
blog comments powered by Disqus