I make extensive use of the dialog but have problems with tabbing.
I made a cut down control using the code and found a number of minor problems and one big one.
- IFRAMEs don't have the tab index set to -1 when display the dialog (this means URLWindows get the focus when tabbing)
- The DIV of the dialog box itself gets the focus (random where it will happen whatever tab index you set for the controls on the dialog)
Far more important than these is a coding error throughout the DisableTabs code - the index of the arrays is not being incremented (+i missing) so they just overwrite the first of each type.
I have a version that seems to work properly if it helps,
Sorry, I forgot the other problem.
The FocusControl doesn't work for me. It gets the focus for a fraction of a second and then it goes.
I have to add timeout code to set the focus whenever i display a dialog.
I have not been able to reproduce these issues.
Can you please provide the following information so I can further investigate this?
- The version of IntraWeb you are using
- The name and version of the browser you are using
- A ready to run sample project that demonstrates the issue.
Bart Holvoet2016-04-11 16:26:17
I'm using 14.0.52 of intraweb and 5.820 of tms. I've tested on IE, Chrome and Safari - all thesame.
The DisableTabs problem is there for all to see in any page, the code is faulty - a simple fix corrects it.
The IFRAME problem is simple to reproduce, just put a dialog box on a page with a URLWindow, pressing tab will jump to it at some point - it just needs including in the disabled types.
The focus problem is strange, I have found I need a timeout of at least 4-500 to work on complex pages.
I have a new one for you as well, this one only tested on IE on Windows 10. After displaying a dialogue box, the next time you show it all labels become tab stops. The reason is that the read of TabIndex for SPANs returns 0, not -1 (for some weird reason). When you write this back when you hide the dialog box they all become tab stops. I have got round this by converting 0 to -1 after reads.
Even with these problems, I still think this is the best dialog box and i use it extensively within my system.