Slowing Down: Disabling the Accelerator icon

We've had a few folks write to the IEBlog asking "How can I disable the little blue accelerator icon that appears when text is selected in a HTML page? "  

      Accelerator Icon

For end users, the answer is straightforward: Click Tools > Internet Options > Advanced, and untick Display Accelerator button on selection inside the "Browsing" section of the list.  After doing so, the Accelerator icon will no longer appear in pages when you select text. Policy junkies can set a DWORD named SelectionActivityButtonDisable with value 1 under HKLM\Software\Policies\Microsoft\Internet Explorer\Services to prevent users from changing the setting.

While disabling the icon is straightforward for end-users, there's no easy way for web developers to do so.  This stands in contrast to the "opt-out" mechanisms provided by some other legacy features, which offered web developers the ability to disable certain end-user conveniences as desired.  When considering whether we should offer a mechanism for sites to "opt-out" of Accelerators, we were presented with an interesting tradeoff-- should websites be allowed to disable features the user wants to use?

To many users, the answer seems clear: "Of course not! It's my browser, I paid for it (Windows), and I should be in control of my web browsing experience. "

To many web developers, the answer also seems clear: "Of course! It's my website! I made it, and users should experience it as I want them to. If they don't like the experience, they can go elsewhere!"

(Astute readers might recognize that this type of debate comes up when discussing other browsing features, like popup blockers, ad-blockers, Flash blockers, and so on.)  

Of course, there are other considerations as well-- for instance, one of the top user-complaints about our HTML Forms AutoComplete feature is "It doesn't work-- I don't see any of my previously entered text."  When debugging such cases, we usually find that the site has explicitly disabled the feature using the provided attribute, but of course, users have no idea that the site has done so and simply assume that IE is buggy.  In my experience, when features are hidden or replaced, users will usually blame the browser, not the website.

In this case, the team decided that keeping the user in control was of paramount importance.  Users get to choose which services they plug into their browser, and we think it's critical that their choices are respected.  It would be super-annoying if, for instance, you could only use (for instance) Yahoo-provided services on Yahoo-owned sites, Google-provided services on Google-owned sites, Microsoft-provided services on Microsoft-owned sites, and so on.   It would be especially annoying if each site exposed these services differently (a trend you might have started to see on some major sites).  User-choice forces service providers to compete on the merits of the services they offer.

At this point, web developers typically protest "But I wouldn't do this everywhere-- only in a few little bits where it makes sense!"   Even if that's true, unfortunately, this is yet another case where there's really no way for the browser to tell the difference.  Remember, popup windows were once a happy, useful part of the web browsing experience, until their abuse by advertisers made them the bane of users everywhere. Inevitably, all browsers began blocking popups, breaking even the "good" sites that used popups with good taste and discretion.

In this case, we did our best to minimize web developers' concerns by ensuring that the Accelerator icon is kept "out of the way" -- you'll notice that we work hard to avoid overlapping the selected text/content, and the button stays transparent unless you actually hover over it.  Also, the icon will not appear for selections in text boxes or HTML editors.

Ultimately, there are few easy answers, but more than anything else, the challenge of making the right tradeoffs is what keeps my job interesting.

Thanks for reading!