Questions on tab order

Started by Candy M., January 31, 2009, 02:53:03 AM

Previous topic - Next topic

Candy M.

I have noticed that if more than one field in a form
has the same Tab Index, the first field is reached,
but the other fields are not reached.  It appears to treat
it as if Tab Index is 0.  Is that expected behavior?

We want to change the Tab Index in the "DOM" tree and
are doing that now using the om.DomNode.setAttribute("tabIndex", taborder_value) call.
Are we Okay with doing that as we are getting requests for that
all the time from our users to change that so we have
set up a database of forms so we can specify the Tab Order for
the form elements?

Thanks,
Candy

Sebastien F.

Candy,

First:

You should use unique tab indexes: If several fields have the same tabindex, only the first found can be reached with tab.
However, tabindex don't need to be sequential (1,2,3,4,5,6). You can define groups like (101,102,103; 201,202,203; etc).

Then:

Normally we should support dynamic modification of the tabIndex attribute during dialog execution. Since multiple dialogs, and especially in 2.20 with the ON ACTION INFIELD, we have to pre-calculate the tabbing list when the dialog starts. So your code would work in 2.1x with singular dialogs but not with DIALOG / END DIALOG or singular dialogs in 2.20 (use now the same code).

Note that I wrote "modification of the tabIndex attribute during dialog execution", this is important I believe, since you want to allow users to change the tabbing order while using a form. Tabbing list is calculated when a dialog starts, but remember with DIALOG / END DIALOG you don't leave the dialog as often as with the singular dialogs such as INPUT.

I think we should support dynamic changes of tabIndex during dialog execution, this was just working before multiple dialogs code.
So I filed a bug (#11922) to track this issue.

Seb

Candy M.

Thank you Seb.

Just so I understand, so will my code work with singular dialogs in 2.2? 

Candy

Sebastien F.

Candy,

Changing tabbing order (tabIndex attributes) in 2.20 will only be taken into account if changed before the dialog is started.

My point is that it should also work during dialog execution, as in the current 2.1x dialog code.

Seb

Rene S.

Sure, the runtime could be sensitive for a modification of the tab id while executing a dialog. I ask myself: why should a programmer do that? Is this the "modern" way for the NEXT FIELD instruction?
Rene