Git Product home page Git Product logo

Comments (7)

stevefaulkner avatar stevefaulkner commented on September 28, 2024

thanks @jnurthen will review

from html-aria.

stevefaulkner avatar stevefaulkner commented on September 28, 2024

Form has no semantics for accessibility

I would note that this statement is incorrect as at least one AT (JAWS) allows navigation via form elements:

List of Form Fields INSERT+F5
Move To First Form Field INSERT+CTRL+HOME
Move To Next Form Field F
Move To Prior Form Field SHIFT+F
Move To Last Form Field INSERT+CTRL+END

from html-aria.

jnurthen avatar jnurthen commented on September 28, 2024

Steve - those are form fields, not the form element. So JAWS lets you move to INPUT etc, not to FORM

from html-aria.

stevefaulkner avatar stevefaulkner commented on September 28, 2024

Steve - those are form fields, not the form element. So JAWS lets you move to INPUT etc, not to FORM

@jnurthen you are correct and I am incorrect :-) will edit spec in next day or 2, to fix issue.

from html-aria.

jnurthen avatar jnurthen commented on September 28, 2024

Thanks Steve

from html-aria.

dylanb avatar dylanb commented on September 28, 2024

This is certainly not the only example of this. Other examples are menubars/tablists/insert_favorite_role_here that are actually also navigation landmarks. Obviously adding the landmark role in those cases is not a good solution because it would require removing the other role.

I understand that this proposed solution helps in the short term, but is there a better solution? For example, implement the concept of multiple roles or split out the landmark roles from widget roles into a new attribute?

from html-aria.

stevefaulkner avatar stevefaulkner commented on September 28, 2024

The philosophy behind the conformance requirements is that if an element has inbuilt significance, we should discourage overriding that (or adding default roles unecessarily) in favour of adding a 'role' to an element that does not have inbuilt significance. i.e. If the element role exposed in acc APIs. In the case of the form element it does have significance as it has a default mapping to the form landmark role. It appears that the form landmark is not well supported by AT (there may be a reason of choice by AT implementers). I do agree it makes sense to allow 'role=search' on the form element as it is a specific type of form landmark.

Note: arguments for allowing more roles on elements with default explicit semantics because we don't want to ask devs to add a div element with the role, don't hold much water. If people take time to look at code in the wild (for example the raw data available at webdevdata.org), it is more than clear that the div elements are already in the code in many instances and can be used to host the 'role' attribute.

Also note that the ARIA in HTML spec does not effect how ARIA attributes are implemented and work in browsers/AT, only what errors/warnings are emtitted by a HTML conformance checker. The requirements attempt to guide developers on usage.

@dylanb wrote:

I understand that this proposed solution helps in the short term, but is there a better solution? For example, implement the concept of multiple roles or split out the landmark roles from widget roles into a new attribute?

This discussion while useful is out of scope for the ARIA in HTML spec, suggest bringing up on the ARIA list or filing a bug against the ARIA 1.1 spec

from html-aria.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.