Closed Bug 409404 Opened 12 years ago Closed 5 years ago

Implement SVG focusable attribute

Categories

(Core :: SVG, defect)

defect
Not set

Tracking

()

RESOLVED WONTFIX

People

(Reporter: aaronlev, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: access, student-project)

Attachments

(1 file)

SVG has a focusable="" attribute for keyboard navigation. Opera supports it.

    http://www.w3.org/TR/SVGMobile12/interact.html#focusable-attr
I don't think focusable is in SVG full 1.1 which is what we are currently targeting.

Also the first testcase requires animation which we don't have yet either.
When will we be targetting SVG 1.2? I'm happy if this is done for the next major release after Firefox 3.
This shows you were we all are: http://www.codedread.com/svg-support.php

I guess someone would just need to step up and start with some patches really. I guess we would need something to allow us to have a different set of supported things for different versions. Then we could add focusable for 1.2 mobile only.

You mean support or don't support focusable based on the doctype declaration?

I know that adding/removing features depending on the doctype is not something we generally want to do.
Not the doctype the version....

I guess we would want no focusable with

<svg version="1.1" xmlns="http://www.w3.org/2000/svg"> 
...
</svg>

but 

<svg version="1.2" baseProfile="tiny" xmlns="http://www.w3.org/2000/svg">
...
</svg>

would have focusable. tiny is the only complete baseProfile for 1.2. Hopefully Opera works something like that.


How is it useful to turn a feature off with version='1.1'? Supporting focusable regardless of the version attribute doesn't break existing content, so I think there's no need for a version switch.

The fewer modes and version switches browser engines have, the better, since it makes QA, maintenance and authoring more straight-forward and predictable. Presumably, not checking for version is good for perf, too.

I think the SVG version attribute doesn't provide practical benefits (why would you want to turn features off if the features are specced so that they don't break existing content?) but causes theoretical problems (is it theoretically OK to call it valid?). Lately, this has caused me theoretical problems with Validator.nu development. I'd advice authors to write SVG without the version attribute and browsers to ignore it. (Spec profiles are bad for interop, so I think baseProfile should be avoided, too.)
Editing the summary not to suggest that the attribute itself were in the SVG namespace.
Summary: Implement svg:focusable attribute → Implement SVG focusable attribute
> Hopefully Opera works something like that.

Anne van Kesteren from Opera says that as far as he knows, Opera ignores the version and baseProfile attributes.
parity Opera

testcase
http://www.peepo.co.uk/temp/focusable.svg

wfm no animation
Flags: wanted1.9.2+
http://dump.testsuite.org/2006/svg/003.svg
I'm unable to navigate on the above link.

http://schepers.cc/walkingtalkingsvg.html
I get a 'No Text To Speech Plug-in detected, please download http://download.microsoft.com/download/speechSDK/Install/4.0a/WIN98/EN-US/spchapi.EXE' message

On ff 6.02,  The link below gives a 404.

(In reply to jonathan chetwynd from comment #10)
> parity Opera
> 
> testcase
> http://www.peepo.co.uk/temp/focusable.svg
> 
> wfm no animation
I'd personally like to see SVG adopt the html keyboard navigation model.
Attached patch Partial patchSplinter Review
Partial patch that supports:
- focusing an element which has focusable="true" attribute
- preventing to focus an element which has focusable="false" attribute
- focusing an element which has at least one of DOMFocusIn, DOMFocusOut, and DOMActivate event listeners

Gecko doesn't implement SVG Micro DOM.
Therefore I added 'focusable' DOM property to SVG elements in SVG 1.1 style.

Missing pieces are:
- Automated tests
- Event types of SMIL animation support

- Firing DOMFocusIn, DOMFocusOut, and DOMActivate events (maybe other bug)
- Event attributes support (depending bug 371728)
- Drawing focus ring (bug 369507)
IE 9+ supports the focusable attribute
I am getting more and more requests for this. Any chance this can be bumped in priority internally, or are we so swamped that we'll have to wait for an external contributor?
Is anyone presently working on this? I'm a student new to Firefox and am interested in fixing this based on Takeshi's patch.
Nobody seems to be working on it, on the other hand it seems like the SVG 2 spec doesn't have focusable unless I'm missing something.
Rich, Steve, do you know latest status of SVG focusable?
(In reply to alexander :surkov from comment #18)
> Rich, Steve, do you know latest status of SVG focusable?

its not in SVG2 https://svgwg.org/svg2-draft/attindex.html

AFAIK it is not needed as tabindex can be used (once implemented in FF) https://bugzilla.mozilla.org/show_bug.cgi?id=778654
OK, lets mark this WONTFIX to stop any further confusion.
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → WONTFIX
I think closing this might be premature.

In IE9-11, the only way to make an element focusable is to add the @focusable attribute. Therefore, for backwards compatibility for IE, this is important for accessibility.

The SVG Accessibility Task Force is likely to add this into SVG2, as an attribute and a property, to pave the cowpaths. We have also added @tabindex, for the same reason; these attributes are not in conflict.
WONTFIX isn't forever, if it get's added to a specification we'll reopen it.
(In reply to Doug Schepers from comment #21)
> I think closing this might be premature.
> 
> In IE9-11, the only way to make an element focusable is to add the
> @focusable attribute. Therefore, for backwards compatibility for IE, this is
> important for accessibility.
> 
> The SVG Accessibility Task Force is likely to add this into SVG2, as an
> attribute and a property, to pave the cowpaths. We have also added
> @tabindex, for the same reason; these attributes are not in conflict.

What is needed is a property that all major browsers implement. Adding tabindex is the priority unless chrome/webkit etc also add focusable. For backwards compatibility it just means that to support older versions of IE devs will need to add focusable as well as tabindex. Adding support for a redundant feature in Firefox seems like a waste of time.
You need to log in before you can comment on or make changes to this bug.