On Wednesday, May 1, 2019 at 8:39:37 PM UTC+2, [email protected] wrote:
>
> Existing application using Gwt 2.8.2, and I'm undertaking effort to make 
> it accessible (keyboard, screen reader, and so forth). Always a challenge 
> to retrofit accessibility when it wasn't considered from the start, but 
> that's my lot in life (cue violins).
>
> Problem of the day, modal DialogBoxes don't keep focus in the dialogs when 
> using tab key. Several very old conversations on this, wondering if there's 
> anything more current, or if it's still something I'll need to handle 
> directly on a dialog-by-dialog basis. We have a lot of dialogs.
>
> Specifically, keyboard tabbing off final control should wrap around to 
> beginning of dialog, NOT to the browser itself or the glassed-out UI of the 
> application. Shift+Tabbing back from the first control should go to the 
> last. Fundamental accessibility requirement. For example, try any modal 
> dialog in Google Docs.
>

Modal popups in GWT have been broken for years (I asked that they be 
deprecated 8 YEARS ago: https://github.com/gwtproject/gwt/issues/6454), 
don't use them.

I you really want/need a modal dialog, I'd suggest using a <dialog> element 
with showModal(). The API is already available in 
Elemental: 
https://static.javadoc.io/com.google.elemental2/elemental2-dom/1.0.0-RC1/elemental2/dom/HTMLDialogElement.html#showModal--
And for browser compatibility (rather poor at the moment: 
https://caniuse.com/#feat=dialog), use the polyfill: 
https://github.com/GoogleChrome/dialog-polyfill (with GWT, you'd have to 
inject the script –e.g. using ScriptInjector– then use JsInterop to call 
the polyfill's registerDialog())

Alternatively, use a non-modal GWT dialog and implement the "modal" 
behavior "by hand": for tabbing, put hidden focusable elements at the 
"beginning" and "end" of the dialog, catch the focus event on those and 
then refocus to the appropriate element.

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to