GithubHelp home page GithubHelp logo

review accessibility about ng-dynamic-forms HOT 5 CLOSED

udos86 avatar udos86 commented on May 18, 2024
review accessibility

from ng-dynamic-forms.

Comments (5)

bbarry avatar bbarry commented on May 18, 2024

A few things I notice (not particularly focusing on testing this and haven't really studied the code to understand how the various UI versions are related; these are just the things that annoy me when using a typical form) from the demo site:

  • clicking on select label should focus select dropdown
  • clicking on input label should focus on input
  • clicking on checkbox group should focus first checkbox in group (or perhaps cycle: check/uncheck/reset to original state for whole group?)
  • clicking on individual checkbox label should check/uncheck box
  • clicking on radio group label should focus current active radio option
  • clicking on text area label should focus text area
  • clicking on array model group input label should focus first/last/first empty (not sure which)? input
  • clicking on add item in group input should focus newly added input
  • in an group input input, pressing tab to new item button/link then pressing space should focus newly added input

demo should show validation states visually somehow also

On the bright side, tab works pretty good to move around.

from ng-dynamic-forms.

udos86 avatar udos86 commented on May 18, 2024

@bbarry Thanks for your contribution.

clicking on select label should focus select dropdown
clicking on input label should focus on input
clicking on checkbox group should focus first checkbox in group (or perhaps cycle: check/uncheck/reset to original state for whole group?)
clicking on individual checkbox label should check/uncheck box
clicking on radio group label should focus current active radio option
clicking on text area label should focus text area
clicking on array model group input label should focus first/last/first empty (not sure which)? input
clicking on add item in group input should focus newly added input

The flaw of not selecting a form control when clicking on it's label arises from the fact that no id attributes are bound to the html elements at the moment. This is necessary in order to not create semantically wrong markup when using form arrays. Otherwise there potentially would exist multiple form controls with the same id value. I haven't got a better solution to this so far.

demo should show validation states visually somehow also

The importance of showing validation messages and how this should be done is explained in detail in README.md. However it is not a building block of the actual library. But you're right. I should take the time to improve the example nevertheless.

from ng-dynamic-forms.

bbarry avatar bbarry commented on May 18, 2024

Reviewing the markup for the individual checkboxes, I believe removing the for attribute would be sufficient (a label surrounding a single input is historically adequate for semantically associating them).
w3.org agrees: https://www.w3.org/WAI/tutorials/forms/labels/#associating-labels-implicitly

from ng-dynamic-forms.

udos86 avatar udos86 commented on May 18, 2024

@bbarry Alright, thanks! Will be corrected in next version!

from ng-dynamic-forms.

udos86 avatar udos86 commented on May 18, 2024

@bbarry There'll be a solution for focusing the controls when clicking the labels, as well!

from ng-dynamic-forms.

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.