W3C home > Mailing lists > Public > public-webappsec@w3.org > November 2012

RE: UI Safety Obstruction check and transforms

From: Fred Andrews <fredandw@live.com>
Date: Wed, 28 Nov 2012 11:45:08 +0000
Message-ID: <BLU002-W156929C5E7C46D55891B8ADAA5D0@phx.gbl>
To: David Lin-Shung Huang <linshung.huang@sv.cmu.edu>
CC: "public-webappsec@w3.org" <public-webappsec@w3.org>
Hi David,

Thank you for the suggestion.  I guess if a widget received an event with this flag set it could redirect to a confirmation page in which it was not framed.  However it is not clear if the event flag could be used to bypass a transform imposed on a widget by its parent to avoid the obstruction check failure.

For example, consider a social widget that has simply been scaled so that it fails an obstruction check.  A reasonable default action for the UA could be to present the widget unscaled when hovering over it.  The UA needs to compute this unscaled view anyway for comparison so it may not be a big extra step.  It may well be that the spec. already allows a UA to do this, but it might be handy to have an event sent to the widgets parent document to give it the option to present the widget unscaled itself, and perhaps this could even link into the CSS to allow for 'unobstructed' styling when needed.

BTW: your papers are very good resources, thanks.

cheers
Fred

Date: Wed, 28 Nov 2012 00:22:33 -0800
From: linshung.huang@sv.cmu.edu
To: fredandw@live.com
CC: public-webappsec@w3.org
Subject: Re: UI Safety Obstruction check and transforms

Hi Fred,
In Section 4 of the draft, the proposed "unsafe" boolean flag in the UIEvent object signals the webpage that obstruction was detected by the UA (whether it was caused by an attack or a benign transform). This allows the webpage to react with an extra confirmation dialog, or implement other custom fallbacks.


Thanks,
David



On Wed, Nov 21, 2012 at 2:21 AM, Fred Andrews <fredandw@live.com> wrote:




The issue of transforms applied to an element receiving an event has been discussed before and the opinion offered was that transformed elements are not supported.   Given that an element needs to be non-transformed to pass the obstruction check perhaps it would be appropriate to support elements being presented without transforms when about to receive events.  The use case would be to support rich UI designs that still offer UI safety.


For example, consider a UI that docks social widgets at the side of a page and scales them down and applies a perspective transform for effect.  If input protection has been requested then these widgets would need to be presented unscaled and without the transform to pass the obstruction check.


Could a UA recognize the issue and present the element in a little popup when hovering over it, or could the UA apply an extra confirmation step when an obstruction is detected and present the element unscaled and without the transform for confirmation?   If so then perhaps an implementation note of the possibilities would be appropriate.


Might it be appropriate to signal an event that the webpage could use to implement such presentation itself, with a default left to the UA?  If so then the spec. would presumably need to define this event.

For the case of a docked widget, a two step process would not be an unreasonable UI design, and is there enough support for webpage designers to be able to implement such a design.


cheers
Fred

 		 	   		  

 		 	   		  
Received on Wednesday, 28 November 2012 11:45:36 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 28 November 2012 11:45:36 GMT