Help Please - Greg, Geoff - Showstopper Web2.0 Tabbing Not Working with WebContainers

Please help! Tabbing doesn’t work on embedded containers, even if you manually adjust the tabindex on the container and all its nested controls.

This is a showstopper bug for me. All my layouts in every app I build are just a collection of nested ContainerControls. Nothing seems to fix this. My app’s forms are unusable :frowning:

If there isn’t a fix yet I could really use a workaround - anything - I don’t care if I have to use a 100 lines of Javascript, I just need it working:
<https://xojo.com/issue/60181>

Also this one was marked fixed, but my sample project on the case clearly shows it wasn’t:
<https://xojo.com/issue/60406>

3 Likes

Yup, I’ve run into this bug as well. I hope it gets fixed soon, as the tab key is broken. It also prevents one from using tabbed panels with forms in them.

2 Likes

Yeah they are not working as expected we will have to work what the next Version is bringing out.

As a temporary workaround, I found disabling Xojo’s tabengine makes it work just fine. Flex layouts especially are likely to have things in the order you want them already anyways.

ExecuteJavascript("XojoWeb.TabEngine.currentTabEngine = function(x){};")

FYI, you don’t have to hack that. There’s an option on the App class for disabling the our tab engine.

If the tab-engine breaks the right behavior, and can even be disabled without any problem, why does it exists? For a moment I thought that Brock was doing something not advisable because it would potentially break internal states.

My guess is if you have a layout where you want to control the tabbing outside of DOM order

Well… Seems one of those things we need the docs completed and examples of use cases to know better. :thinking:

I’m looking through documentation but I can’t seem to find anything on this, nor with auto-complete…

I see Session.AllowTabOrderWrap. Maybe that’s what he meant? IIRC, however, that does as its name implies and doesn’t entirely disable the Xojo tab order system.

1 Like

I tried both setting it as true and false in the PrepareSession event and neither seem to do anything.

Greg,

I give up :frowning:
how do I set this?

Frustrating isn’t it?

I’m facing the same issues, if I get it to work in pages disabling the tab order it doesn’t work on webdialogs. I’ve tried eveything I can think of and can’t get this to work.

Is the executeJavascript way not working for you guys? (Session.Open)

ExecuteJavascript("XojoWeb.TabEngine.currentTabEngine = function(x){};")

Thanks for your reply Brock.

The issue I have with disabling the tab engine like that is that although that makes the tab work correctly on webpages it doesn’t work properly on webdialogs.

I thought I had solved temporarily with the executeJavascript workaround, but I saw that the LostFocus event doesn’t fire.
is that so?
is there a solution?
thank you.

Yes, and I wrote a workaround that captures LostFocus while we await a framework level fix.

https://strawberrysw.com/tp-webkit

2 Likes