Suppressing Dialogs on Background Tabs


Hi, I’m Tony Schreiner, and as you may recall from an earlier post I work on the tabbed browsing architecture in IE7.

One of the new features in the IE7 Beta 2 Preview is the ability to suppress modal dialogs from background tabs. This addresses one common problem with tabbed browsing where a web site on a background tab can launch a dialog that must be immediately dealt with by the user. Even worse than the interruption is the risk that the user will not realize the dialog came from a background tab, and may act on that dialog as if it belonged to the active tab.

Instead of disrupting the user by immediately switching to the tab trying to show the dialog – or blocking it altogether – IE7’s approach is to provide a user experience that’s similar to the Taskbar on Windows. When a background tab attempts to show a dialog we temporarily suppress the dialog by suspending the code trying to show it and then flashing the tab yellow a few times to notify the user:

Tab Flashing

The user can ignore this notification and continue to browse, and when the tab is eventually selected the dialog will automatically be shown in the context of the page that launched it.

Currently we suppress script-initiated dialogs such as showModalDialog() and most dialogs of other types. As part of our standard threat model analysis we are continuing to review and address scenarios where dialogs from background tabs could still be displayed, especially when launched by script within a web page. We also suppress dialogs launched from add-ons and ActiveX controls, but only if they can be detected as belonging to a background tab.

 – Tony Schreiner

Comments (55)

  1. Anonymous says:

    In a similar vein: Please please PLEASE make IE7 stop stealing my focus!

    It seems to do it all the time, particularly when I open a link in a new tab, then quickly switch away to something else. When that new page finishes loading IE7 steals focus back.

    Very annoying when you’re in the middle of typing in another application!

    Cheers,

    Matt

  2. mabster, agreed. This is a known bug and something that we are working on.

  3. Anonymous says:

    This seems like a reasonable idea to me, however I don’t typically like bright colours flashing at me. I would prefer if the tab merely changed to the orange colour and stayed like that, with no flashing at all.

    The same goes for Windows XP in general, but I don’t see this changing.

  4. So the tab flashes a few times and stops?

    What if these things happen in this order?

    1) The user goes to a site

    2) The user goes to another site in another tab

    3) The user steps away from his computer for a minute (or just looks away)

    4) The first site pops up an alert

    5) The tab flashes a few times

    6) The tab stops flashing

    7) The user comes back and sits down

    In this scenario, the user has no indication that the alert ever happened!

    Shouldn’t the tab flash indefinitely?  Or at least stop on a different color?

  5. Anonymous says:

    "Shouldn’t the tab flash indefinitely?  Or at least stop on a different color?"

    I know taskbar buttons stop on a different, "flashed" color.  I think it’s like that too.

  6. Anonymous says:

    I think it’s like that _here_ too.

  7. Ron, you can use Tweak UI to configure the number of flashes before it settles to the solid color. Set it to zero if you like.

  8. Yes, when the flashing stops the tab stays highlighted as in the screenshot so that the user knows something happened.

  9. Nick Presta says:

    This is one thing I look forward to. Gmail and Firefox always bother me when I try to load Gmail in a background tab. I get that the Secure Server warning (yes, I know you can turn it off).

    Good job.

  10. PatriotB says:

    Tony,

    For us developers out there, can you elaborate a bit more on *how* you do the supression?  I’m guessing it would take using hooks or something similar in order to supress dialogs from an ActiveX control?

  11. Anonymous says:

    I know you guys hate these off topic questions but I feel this is the best place to ask and e-mail is a sensitive area becuase of junk mail giving it a bad rep: What do you plan on doing about any outstanding security issues in IE6 SP2? Go to Secunia and they have a list of unpatched vulnerabilities, which I have not cross-referenced to see if anything has change on any of them because of a possible tendency of Secunia to not update as they should. With the purported unpatched vulnerabilities I am surprised keeping up to date with available patches is sufficient enough.

    Also, speaking of tabs, now is the time to learn from Mozilla’s errors, such as an instance where inactive tabs (not dialogs) steal focus: http://secunia.com/advisories/12712/

    Small things shouldn’t be shoved aside, after all, you literally millions upon millions of users security at stake.

  12. Anonymous says:

    Could it support proxy authenthication??

    Thanks ..

    …..oooO……………….

    ….(……)…Oooo……..

    …..)…/. …(…..)………

    …..(_/…….)…/……….

    …………… (_/………….

    … Pase por.. …………

    ………. Aqui ………….

    …..oooO……………….

    ….(……)…Oooo……..

    …..)…/. …(…..)……….

    …..(_/…….)…/………..

    …………… (_/…………

    …………………………..

  13. Anonymous says:

    redxii, off topic!

  14. Anonymous says:

    There is a problem in IE 7 Beta 2 wherein all pages are opening in the original window inspite of right clicking and selecting "Open in New Window". Also there is no way of opening new pages in new tabs.   Pl contact me at vici_kaulAThotmail.com.

    Thanx & regards

    vici

  15. Anonymous says:

    why are the link urls relative (href="/tonyschr")!?

  16. Anonymous says:

    The windows update dialog blocks the whole browser so you can’t use the other tabs at the same time, can you do something about dialogs like this?

  17. Anonymous says:

    Can you also do that for the find dialog. If you do a find and switch to the quicktabs the find dialog is still there.

  18. Anonymous says:

    Can you provide close buttons when I hover over a tab I wish to close. I now have to open the tab before the close button appears.

  19. Anonymous says:

    I agree I’d like a close button without having to give the tab focus. I found the quick preview works ok for this purpose for a lot of tabs but for one or two it’s a little annoying.

    However by reading the other entry today I now realise you can close them with a middle click (I only realised about it opening links in a new tab by middle clicking by accident). So maybe that will do I’ll see how it feels. I dunno how you’re going to educate users about middle clicking though – I was confused for a while as to why new tabs seemed to appear every now and then for no apparent reason.

  20. Anonymous says:

    Off-topic small bug I just came across [where should this sort of thing normally be reported]:

    I clicked on a file for download whose name was HERE&C. In the "Do you want to open or save this file" dialog box which then appears, the name appeared as HEREC with the C underlined, i.e. the &C is not being escaped properly.

  21. __hAl__ says:

    IE should stay away from putting much functionality into middleclicking as most mouses i come across still have two buttons.

  22. Anonymous says:

    @hAI: Uhm, no offence if you live in a… what’s the PC phrase… "Developing Nation"?  but if not, what are you talking about? 2 button mice with no scroll wheel?… are you serious!?

    Go to the local comp store right now, throw down $10 on the generic 2button+scroll mouse of your choice and plug it in your PC.  If you do not have a mouse with a scroll wheel by now, THAT IS YOUR FIRST PRIORITY! Not installing a modern Web Browser!

  23. Anonymous says:

    Speaking of showModalDialog();

    Is there an option to block this kind of garbage?

    Since it isn’t a web spec, it is only* used by malicious scripts.  I would like to be able to disable these, or at least, flag them as non-modal.

    *Yes, I’m aware that (cough: WinUpdate) some sites use these legitimately, however, in most cases, I do not want this "feature".

  24. Anonymous says:

    Could you also replicate the "taskbar experience" for modal dialogs on the current tab?

    I encountered one last night, where I wanted to use information on one page to log on to another.  So, I visited the information page, opened a new tab, visited the logon page, and was presented with a modal dialog.  Now I click back on the tab of the information page and … no, can’t do that, the modal dialog is preventing me from switching back to the other tab.  This is not useful.  Modal dialogs should be modal with respect to the tab, end of story.

  25. Andy C says:

    "IE should stay away from putting much functionality into middleclicking as most mouses i come across still have two buttons."

    Really? Scroll wheels have been on mice for such a long time now that it’s difficult to find an XP system that doesn’t have one.

  26. Anonymous says:

    A small note: Even if you DON’T have a three-button mouse, CTRL+left-click has been the equivalent of a middle-click for many years now.

  27. Anonymous says:

    superb future,( so i will continue to use ie)

    Better done , my thumbs up to IE Team for implementing this future.

  28. Anonymous says:

    This doesn’t work for Windows Update.

    The dialogue keeps in the foreground.

    Please let the pop-up run in the background(!)

  29. Anonymous says:

    This new IE version is making me extremely frustrated. No matter where I look I can’t figure out how to move the address bar below my menu and to move icons to make it all look like it does in IE6. Anyone knows how to do this? I thought that this new version will be more flexible with what is displayed and by the looks of it it is even more restrictive. If I can’t change what is where I just might have to switch to Firefox.

  30. Anonymous says:

    Suppressing modaldialog is a bed idea is we build a very big web application like SharePoint with dialogs and informations… (like we do at work)

    but the fact that a dialog is Modal blocs the other tabs… very bad because we can not jump to others if one of our webpages opens a modal dialog…

    the solution may be modeless ?

    but not with adress bar ?!

  31. Anonymous says:

    Was just wondering if eventually the toolbars can be moved around, I still prefer the File menu to be at the top, and have not found a way to currently move it above the address bar.

    Thanks!

    Josh

  32. Alun Jones and Seb,

    The way Windows works, modal dialogs are modal to the entire top-level window. There isn’t a way to switch these to somehow be "tab modal". If you are designing a site and you wish to show dialogs and not prevent the user from switching tabs (or otherwise using the application underneath) then you should use showModelessDialog() or even window.open().

  33. Stan, I’m not aware of a setting to disable features such as showModalDialog() altogether, but it’s feedback we’ll think about.

  34. Predrag, this currently isn’t officially supported (there are both technical and non-technical reasons) but see my blog for a way to move the menus in the Beta 2 Preview.

  35. vici, the problem you describe is not a known issue and I can’t reproduce it here. You might have an add-on installed that is preventing this functionality from working.

    You can confirm this by running "iexplore.exe -extoff". If this helps then relaunch IE and go to Tools / Manage Add-ons and try disabling add-ons to narrow down which one is causing this to happen.

  36. PatriotB, I will probably expound on the technical details later (maybe on my blog), but the super-short version is:

    – Since our tabbed browsing implementation is multi-threaded we can block the dialog by suspending activity on that thread. We don’t put the thread to sleep completely, but instead run a minimal message pump.

    – Native script-initiated dialogs are directly handled.

    – Misc. dialogs including the ActiveX scenario are handled by intercepting calls to certain Win32 APIs.

  37. Anonymous says:

    I have read everything that you guys are putting out on tabs, and thank you very much. I know of no other browser who is making this type of effort in their Blog.

    My major problem as stated before is no matter what my Tab settings are on, each new tab I generate from MY FAVORITES LIST ends up in the top left corner. Each new Tab erases the old one, so I never have more than 1 Tab showing, UNLESS I MANUALLY CLICK ON THE RIGHT SIDE OF THE TAB, before going into MY FAVORITES and clicking on a new one, then the Tabs will open next to each other.

    Would someone be kind enough to Email me at delljim@gmail.com and tell me where I am wrong on my settings, etc., as someone else on your Blog says they have no problem with the Tabs opening automatically across the top.

  38. Anonymous says:

    Can you make middle-clicking on "Submit" buttons submit the form to a new tab? Some image galleries have image-input buttons (<input type="image" src=""> name="img4") which display a thumbnail for the submit button and clicking the image (aka. submitting the form with that button) loads the image. I want it to open in a new tab.

  39. Anonymous says:

    "Save Webpage" modal dialog also blocks at window level (modal dialog), the same behavior as Windows Update modal dialog. This is very annoying if the save process took a look time and I couldn’t switch to other tabs. I think it’s better to change this behavior to be modeless, just as Download dialog OR I am missing any good considerations here?

  40. Anonymous says:

    This will let me switch from FF to IE. My only complain about FF is modal dialogs stealing my tabs, if IE gets this right, I will go back.

  41. Anonymous says:

    Don’t worry, IE stole many ideas from FF, maybe they will steal this from IE? I think it would be fair if Linux stole ClearType too.

  42. PatriotB says:

    Damo — Microsoft holds a patent on ClearType (http://www.microsoft.com/mscorp/ip/tech/cleartype.asp), so no, it wouldn’t be fair if Linux stole it.

  43. Anonymous says:

    I don’t understand why are tabs always up. Regardless if I have only one site open or more. If I have only one site up only address bar should be visible no?

  44. Anonymous says:

    Linux steals EVERYTHING. The so-called "community" has no aestethic sense and no money to conduct decent research (just look at what has been done in order to introduce the new Office UI), so they just act like parasites, first bitching about "micro$oft" ideas and then schizofrenically copying almost everything their "sworn enemy" invents.

    + Have you seen the recent KDE4 concept screenshots? Vista rip-off, they even have a half-a**ed blurred glass thingy

    + The newest KDE (3.5 is it?) introduces an, what they call it on their website, "exciting breakthrough" in how KDE deals with removable media. What this means is that KDE displays a "what do you want to do" dialog which has been in XP for AGES! (6 years to be precise, including the Whistler beta period)

    Need more?

    I have seen the "LINUX COMMUNITY" bitching about the Office 2007 UI, but you can rest assured they will start duplicating it, it’s just a matter of time. Proof? They were bitching about the XP start button, and guess how it looks in of the KDE themes – Big, green, semi-round, white font, except the "Start" word is replaced with "Launch" and Windows flag is replaced with that lame tux mascot.

    Nuff said

  45. Anonymous says:

    Jote, thank u; I could not have said it better.

    This is the point; when a company does something good – even if long overdue – do not pointlessly stab!!! I am not saying a "Thank You" is in order, but rather point other areas (if any) that can be improved on.

    We would be in a far better place if more ideas kept flodding in, than headlines of who is worse!

    PS,

    And before you say it, I know MS (and that includes EVERY other company) is not exactly perfect – some more than others.

    All in all, it’s just only business… and wining!

    For the mature; sorry for going off topic, somethings just had to ba said. 🙂

  46. Anonymous says:

    I have a scroll wheel, but clicking it is set to double-click, which is extremely useful for a variety of things.  I’ sure I won’t be changing that setting to make pressing the wheel into a middle-click.  I want "open in new tab" as a right-click menu option when right-clicking on a link!

  47. Anonymous says:

    will you also provide a method for web developers to trigger the taskbar/tabbar flashing via scripting? i can think of a host of web apps that would benefit from such functionality (web mail, ajax applications). it might even be a killer feature for me.

  48. Anonymous says:

    when clicking a link that opens a new tab, would like to see the new tab open beside the parent tab, instead of the end of the tab bar.  Also, can we move the tabs on the tab bar?

  49. Anonymous says:

    1. About block the webex client modal dialog issues.We can reference this link: http://blogs.msdn.com/ie/archive/2006/02/13/531367.aspx. From my test, if use activex(not standalone) to start meeting, I found if the dialog is modal and same time we swi

  50. Anonymous says:

    Solutions for Don’t Suppress Dialogs on Background Tabs.As my last article(http://www.liveaa.com/archives/1-How-to-disable-the-IE7-tab-feature.html) and this url (http://blogs.msdn.com/ie/archive/2006/02/13/531367.aspx), but How to let dialog still pop