Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

macys.com - Mouse-Overs: On mouse hover submenus are not displaying [msft ref# 261772] #304

Closed
TheWebJustWorks opened this issue Sep 4, 2014 · 6 comments

Comments

@TheWebJustWorks
Copy link

URL: macys.com
Browser / Version: IE 11.0/ Firefox / Chrome
Operating System: Windows
Problem type: Looks like the website has a bug.
Site owner: Unknown

Steps to Reproduce
This issue can only be observed in desktop IE when using a prototype built that exposes Touch Events. However, you typically should be able to see these issues in Chrome by enabling Touch Events in the developer tools or using a mouse in Chrome on a device that also has a touchscreen.

1.Navigate to URL: http://www1.macys.com/
2.Observe that on mouse hover on menus in menubar submenus are not displaying.

Actual:
On mouse hover submenus are not displaying.

Expected Result:
On mouse hover submenus should be displayed properly.

Diagnosis feedback:
Internet Explorer for Windows Phone 8.1 Update now supports both Pointer Events and Touch Events. However, Internet Explorer does not yet support Touch Events on Windows (desktops, laptops, tablets, hybrids, etc). Web developers have asked us to also bring Touch Events to Internet Explorer on Windows, and we want to do that. However, we’ve identified a particular coding pattern that causes compatibility issues that prevent us from following through on this. Similarly, other desktop browsers have also seen these issues and would like to work to resolve them. This site was identified as one of several sites that may have compatibility issues due to this coding pattern. We’d like your help in updating this code so that Touch Events can be brought to all browsers on mobile and desktop.

Code Details:
The following coding pattern (or something very similar) was observed:

if('touchstart' in document.body) {
elm.addEventListener('touchstart',fn1);
}else{
elm.addEventListener('mousedown', fn2); //only registered on browsers/devices without Touch Events
}

This pattern assumes that the Touch Event API is only exposed on devices that are touch-only. As a result, devices that expose the Touch Event API but have a mouse attached may not function correctly since the mouse event handlers are not registered. Changing this pattern to use both Touch and Mouse Event handlers together will resolve this issue:

elm.addEventListener('touchstart',fn1);
elm.addEventListener('mousedown', fn2);
Alternatively, you might consider using Pointer Events to share code across event handlers:
if (window.PointerEvent) {
elm.addEventListener('pointerdown', fn);
} else {
//Fallback support for browsers that do not yet support Pointer Events
elm.addEventListener('touchstart',fn);
elm.addEventListener('mousedown',fn);
}

@TheWebJustWorks TheWebJustWorks changed the title macys.com - Mouse-Overs:On mouse hover submenus are not displaying [msft ref# 261772] macys.com - Mouse-Overs: On mouse hover submenus are not displaying [msft ref# 261772] Sep 5, 2014
@TheWebJustWorks
Copy link
Author

For more detail on 'Mouse touch and pointer events' see the latest blog by @jacobrossi http://blogs.msdn.com/b/ie/archive/2014/09/05/making-the-web-just-work-with-any-input.aspx

@hallvors
Copy link

Perhaps try these contact points?
Twitter: http://twitter.com/macys
Contactlink: http://www1.macys.com/service/contactus/index.jsp
Facebook: http://www.facebook.com/macys

@TheWebJustWorks
Copy link
Author

Contacted Macys via webform provided on their website

macys com

@karlcow
Copy link
Member

karlcow commented Aug 11, 2015

Did the web site change?
Or maybe I don't fully understand the issue.

Is it fixed?

@TheWebJustWorks
Copy link
Author

issue still reproduces - you can see the issue in Chrome or IE11 desktop that has touchscreen. The touch experience doesn't allow users to see submenus.

@TheWebJustWorks
Copy link
Author

Microsoft Edge is the default browser for Windows 10 and all efforts are focused on the Windows 10 Anniversary Update occurring on 8/2. As this issue doesn’t repro in MS Edge, closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants
@hallvors @karlcow @magsout @TheWebJustWorks and others