=?ISO-8859-15?Q?Carsten_Höhne?= wrote:
Hello,
I notice that jsf make a huge use of javascript.
In Italy we have an odd law on making PA web sites and services
accessible by disable people.. and javascript is almost banished...
The same is true for germany. (german: barrierefrei)
But why is only Javascript a problem?
Another kind of problem are the available Layoutmanager and
HTMLRenderer for JSF. They are all tablebased, exept some
developed by oracle. So you run in trouble when trying to reorganize
the layout with css. ( For an example: Look at www.w3.org to see
what can be done with css.)
a css based html renderer is doable, but the abandoning of javascript is
much harder...
the main problem is, the handling of events and actions, which root
directly into the controller logic.
The current implementation is that basially with an event or
an action a form is set with post values and then a submit is done.
This is the only way to get multi form behavior in HTML,
not really the only one, but the only one where you do not run into
browser barriers.
I will give an example, for a behavior of two different actions
javascript less you have to do following
<a href="http://targetserver/targetapp/targetpage.jsp?action=first">do
action1</a>
<a href="http://targetserver/targetapp/targetpage.jsp?action=second">do
action2</a>
what seems to be at the first approach a viable approach on how to
abandon javascript, if you look closer this approach becomes more than
problematic:
if the href string becomes longer than 256 characters, which can happen
in more complicated forms you run into the issue, that some browsers
simply cut the string without warning.
To bypass this you have to use javascript and dynamically set hidden
form fields, or something similar.
So asking for an event system, validation, different submit
possibilities etc... and then abandoning javascript is close to
impossible with a combination of possibly endlessly long field lists.
so trying to do it without javascript (I know at least myfaces has the
option) means you cut down severely on functionality, dont expect the
command links to work as ecpected anymore, you have to replace them with
buttons, ditto for the event system etc...