[Bug 8406] New: Stricter Specifications on Mouse Events Specifically primary, auxillary, and secondary default actions


           Summary: Stricter Specifications on Mouse Events Specifically
                    primary, auxillary, and secondary default actions
           Product: WebAppsWG
           Version: unspecified
          Platform: All
               URL: http://dev.w3.org/2006/webapi/DOM-Level-3-
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: DOM3 Events
        AssignedTo: schepers@w3.org
        ReportedBy: warcraftthreeft@sbcglobal.net
         QAContact: member-webapi-cvs@w3.org
                CC: mike@w3.org, public-webapps@w3.org

This covers a few things related to MouseEvents. 

In order to get rid of OnContextMenu and to supply a standard way to deal with
the middle mouse button mouseup should have its "Default action" defined in the
specification. The button for MouseEvent already has the comment:

"During mouse events caused by the depression or release of a mouse button,
button shall be used to indicate which pointer device button changed state. 0
must indicate the primary button of the device (in general, the left button or
the only button on single-button devices, used to activate a user interface
control or select text). 2 must indicate the secondary button (in general, the
right button, often used to display a context menu). 1 must indicate the
auxiliary button (in general, the middle button, often combined with a mouse
wheel). Some mice may provide or simulate more buttons, and values higher than
2 may be used to represent such buttons."

So we have
0 - Left Mouse Button
1 - Middle Mouse Button
2 - Right Mouse Button

Since the event "click" already handles buttons and links and has a prevent
default that means for mousedown and mouseup the left mouse button doesn't
require any changes.

However, middle mouse button does have a default action whether the
specification says so or not. In many browsers it creates a scroll icon
allowing the user to scroll by moving the mouse. This behavior should be
denoted as the default action when button = 1.

For button = 2 (right mouse button) the context menu should be denoted as the
default action.

Using the preventDefault should allow one to cancel these default actions at
the browser level.

This should clear up any confusion about mouse buttons and should allow for a
seamless transition into web applications. With this the left, middle, and
right mouse buttons can be utilized. How browsers implement or override this
functionality is up to them, but right now this is a mess and it needs to be

Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

Received on Tuesday, 1 December 2009 08:11:21 UTC