Opened 4 years ago

Closed 4 years ago

#18832 closed defect (wontfix)

Hiding active widget in ContentPane of TooltipDialog might close the dialog in chrome and safari

Reported by: alex.r Owned by:
Priority: undecided Milestone: tbd
Component: General Version: 1.11.1
Keywords: Cc:
Blocked By: Blocking:

Description

I recently run into an issue with unexpected close of TooltipDialog? on hiding of active widgets inside of ContentPane? in TooltipDialog?. The issue does not occur in Firefox 45.0.2 but it happens in Chrome and Safari browsers. I've seen it in Chrome 50.0.2661.75 (64-bit) and recent Safari versions.

The issue occurs in the following conditions: TooltipDialog? should contain ContentPane? with widgets which can hide itself, for example, a widget with a button which can change the display style to 'none' for enclosing widget on click.

The following code can demonstrates the issue. The TooltipDialog? contains Add button. On clicking Add button a new TestPanel? is inserted into ContentPane? of TooltipDialog?. The TestPanel? widget contains Remove button which changes the display style of the TestPanel? domNode to 'none'. If you create several TestPanels? by clicking on Add button, and, then click on Remove buttons, the TooltipDialog? might close unexpectedly.

The work around for the issue is to move focus to any widget which is not get hidden with Remove button. Taking that issue does not occur in Firefox browser, I suspect that focus is set correctly in this browser after hiding of a widget, but chrome and safari cannot do that.

<html>
    <head>
        <meta charset="utf-8">
        <title>Pressing button closes dijit.TooltipDialog in chome/safari</title>
        <meta name="viewport" content="width=570">
        <style>
            @import "./dojo-release-1.11.1/dojo/resources/dojo.css";
            @import "./dojo-release-1.11.1/dijit/themes/claro/document.css";
            @import "./dojo-release-1.11.1/dijit/themes/claro/claro.css";
            html, body {
                padding: 10px;
                width: 100%;
                height: 100%;
            }
        </style>
                <script>
                    var dojoConfig = {
                            tlmSiblingOfDojo:false,
                            async:true,
                            baseUrl: "./",
            

Attachments (1)

index.html (4.8 KB) - added by alex.r 4 years ago.

Download all attachments as: .zip

Change History (2)

Changed 4 years ago by alex.r

Attachment: index.html added

comment:1 Changed 4 years ago by bill

Resolution: wontfix
Status: newclosed

The work around for the issue is to move focus to any widget which is not get hidden with Remove button.

That's not a workaround, it's the way your app should work. Otherwise it's inaccessible to keyboard users; specifically after the remove button is hidden they can't navigate to other nodes, or they are sent back to the beginning of the document, etc.

The TooltipDialog? is closing because focus moved outside of the TooltipDialog?.

Note: See TracTickets for help on using tickets.