a:hover

I was overhearing some extremely negative comments today about Windows Phone. To my surprise though, it wasn’t around the usual gripes, it was actually about the lack of satisfaction with the touch interaction on certain web sites. Being the curious type I figured I’d get involved in the conversation (don’t worry I’m not normally a social hand grenade, I knew the customers well enough to stomp in and share my opinions). It turns out they were very displeased with the way their Windows Phone’s handled the a:hover on web pages. I totally saw their point and it’s valid, but it’s not actually the phone’s fault per se. The “fault”, if we can call it that because it’s actually by design, lies with the specification that defines how access and updates to content can occur dynamically. This specification, Document Object Model Level 3, was the recommendation by W3C way back in 2004. It hasn’t changed since. So no wonder modern devices don’t play too nice with these antiquated standards.

In Microsoft’s defence, they actually submitted an RFC to the W3C back in March 2012 to get the DOM Level 3 updated and reflect the inputs typically used by today’s consumers. They aren’t suggesting an eradication of a:hover though, far from it, just to introduce a Pointer Events specification which “defines a more abstract form of input, called a pointer. A pointer can be any point of contact on the screen made by a mouse cursor, pen, touch (including multi-touch), or other pointing input device“. Check out the RFC here: Pointer Events Submission Request to W3C.

“But what it being done about it now?” was of course the first question. Well, lots but it’s difficult to explain, so in the interest of shamelessly plugging the risual systems in front of a customer, I stoked up our shiny new CRM 2013 environment and showed them how the interface works with cross-input devices:

ahover-crm

SharePoint has gone the same way too, unfortunately is seems to have gone largely un-noticed though, so here’s another shameless plug…

ahover-sp

After some debating, demonstration, and turning the discussion into something constructive, it was the general conscientious that in actual fact, Windows Phone was not to blame and the poor coding of developers and lack of retrospective updates from Web Administrators should take most of the responsibility.

Feel free to leave a comment, I’d love to hear what others have to say on the subject.

Have a great weekend!

About the author