[SVGMobile12], Focus navigation and circular dependencies

We have a question about focus navigation behavior when the SVG content
is used as a component within a compound document. 

According to the rules specified in section 13.12.1 Navigation behavior
<http://www.w3.org/TR/SVGMobile12/interact.html#navigationbehaviour>,
the focus should be offered back to the User Agent if/when there is no
focusable next element:

"3. If the focus is held by an element in the document, then the next
element in navigation order shall be the entity that first matches the
following criteria:
    1. the element referenced by the 'nav-next' attribute on the focused
element,
    2. the next focusable element in document order,
    3. the User Agent"

So, the use of the 'nav-next' attribute allows for the creation of
circular focus rings. Is it correct that the User Agent is never offered
the focus again when the focus ring has a circular dependency?

If the SVG content is used as a component within a compound document,
that would mean that the focus would never leave the SVG document once
it has been released by the User Agent and focusable elements in the
host document would never be reached.

It seems to us that some kind of concept of a "last" element in a focus
ring should be introduced. If this "last" element holds the focus and
the user tries to navigate to the next element, then the User Agent
should first be offered the focus. Only after the User Agent releases
focus, the focus should be given to the element reference by 'nav-next'.

Our suggestion is that the "last" element in the focus ring is defined
as the element that, using 'nav-next', references a previous element in
the focus ring. There can only be one element that fulfills this
criteria.

By allowing the User Agent to regain focus when navigating from the
"last" element in the SVG document focus ring, focusable elements within
a host document may be reached even when circular dependencies exist in
the SVG document focus ring.

The corresponding problem exists when navigating backwards using the
'nav-prev' attribute in a ring with circular dependencies, so a
definition of a "first" element would be needed too.

Best regards,

Faik Siddiqi and Peter Asker,
Ikivo AB

Received on Friday, 23 December 2005 08:59:02 UTC