plone / Products.CMFPlone

The core of the Plone content management system
https://plone.org
GNU General Public License v2.0
240 stars 183 forks source link

Accessibility fixes for Plone Classic #3383

Open thomasmassmann opened 2 years ago

thomasmassmann commented 2 years ago

PLIP (Plone Improvement Proposal)

Responsible Persons

Proposer: Thomas Massmann

Seconder: Veit Schiele

Abstract

Increase the accessibility in Plone Classic for Editors.

Motivation

Plone Classic has several minor and major accessibility issues for editors. Editors are currently not able to work with Plone when assistive technologies are required.

Some issues exist because of too generic wording for labels and descriptions for some fields. Some issues exist because of the internal structure for widgets (a form hint/description should always be between the label and the widget). Some widgets are not accessible at all when assistive technologies are required (e.g. SelectFieldWidget, AjaxSelectFieldWidget — both because the underlaying select2 and it’s implementation in Plone is not accessible at all) — editors currently hear “edit text” for those fields (hint: the label references a now hidden input field, and the new input field created by select2 has no meaningful label; also the selected option(s) are not available to screen readers).

Widgets containing one or more checkboxes or radio buttons are not accessible for users requiring assistive technologies because of a missing group context. This group context should be a fieldset with a proper legend. But fieldsets are used to create groups (and tabs using pat-autotoc), and nested fieldsets are not recommended because of several issues with screen readers.

Assumptions

Plone Classic would benefit from a more accessible user interface for editors. Because the implementation requires changes in multiple Plone core packages it makes sense to PLIP this for Plone core. Individual PRs will be created in the affected packages.

Proposal & Implementation

TODO: show detailed a11y errors and possible solutions, link to the affected package

Deliverables

Update form and widget related code in:

Update theme for the changed HTML structure in the packages mentioned above:

Risks

Participants

ale-rt commented 2 years ago

CC @plone/framework-team

thomasmassmann commented 2 years ago

CC @plone/framework-team

Hi @ale-rt ,

I didn’t mention the framework team yet because it’s not finished. From the docs:

Mention the @plone/framework-team when the PLIP is information complete!

😃

jensens commented 2 years ago

Would like to see this finished. I put it on the 6 project board anyway to not get lost.

thomasmassmann commented 2 years ago

I need to find the time to record and document the current issues for this PLIP in detail (e.g. video using a screen reader).

MrTango commented 2 years ago

CC @plone/framework-team

Hi @ale-rt ,

I didn’t mention the framework team yet because it’s not finished. From the docs:

Mention the @plone/framework-team when the PLIP is information complete!

smiley

wasn't mentioned and was not a draft ;)

tisto commented 6 days ago

I move this to stalled. No activity since 2022.