Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change management for stripping IDs from CKEditor 5 #14115

Closed
4 of 7 tasks
Tracked by #14441
laflannery opened this issue Jun 20, 2023 · 5 comments
Closed
4 of 7 tasks
Tracked by #14441

Change management for stripping IDs from CKEditor 5 #14115

laflannery opened this issue Jun 20, 2023 · 5 comments
Assignees
Labels
CMS Team CMS Product team that manages both editor exp and devops Cross Team Discussion Multi-Team coordination needed

Comments

@laflannery
Copy link
Contributor

laflannery commented Jun 20, 2023

Description

When we update to D10 and CKEditor 5, we will be stripping IDs from all rich text editors and removing the ability for editors to add any news IDs to the editors. This will prevent duplicate IDs from being created and causing accessibility issues within the content.

A change management plan has been proposed and is below. This should be reviewed and finalized:

Change management plan

IDs will no longer be allowed in rich text editors. This means that:

  1. If editors copy and paste content from other sources (i.e. emails, word documents, other sections, etc.) into a rich text editor, any ID that may accidently be pasted in will be stripped from the source code and will not be saved in the content.
  2. IDs will no longer be allowed to be purposefully, manually added to the source code of the rich text editors.

The front end process of the site build automatically adds IDs to header elements based on the text of the header. The process has guardrails in place to ensure all these IDs are unique. However, when IDs are manually added into rich text editors these are not part of the automatic ID process and it causes duplicate IDs, which is an accessibility error.

By stripping IDs from rich text editors and only allowing these to be added automatically, we can avoid duplicate IDs and allow editors to create better, more accessible content within the CMS.

This change will impact all CMS editors.

We are alerted of duplicate ID errors when they occur with the daily accessibility scan report. We will be able to define and measure success for this change using this same report when we see that this particular error is no longer reported in the scan results.

The change should not require any updates to existing Knowledge Base articles, training videos or CMS UI. It also should not require any new KB articles, training videos or CMS UI.

This change will not be tested with users before release.

This change will occur at the same time that the update to CKEditor 5 occurs.

There is an existing risk that should be thought through - currently we have no way of surfacing broken anchor links. The SWCAIA team only fixes these when they happen upon them and are at that point able to go fix them. The risk of this update is:

  1. By removing the ability to manually manage IDs in rich text editors, we are increasing the scope of this existing issue to now include content within rich text fields
  2. If we strip out all existing IDs, there is a chance that we are going to break* more existing anchors - still without a way to surface and fix these proactively.

*To clarify, these broken anchor links should still work to direct the user to the proper page but they will not direct the user to the specific section on that page any longer.

In a discussion with Randi and Megan from the SWCAIA team, this risk was discussed and from their perspective this was not something that should stop this change from taking place.

Acceptance Criteria

  • Review proposed change management plan
  • PO/PM feedback and/or approval
  • Provide notification and awareness to Helpdesk

Team

Please check the team(s) that will do this work.

  • CMS Team
  • Public Websites
  • Facilities
  • User support
@laflannery laflannery added the Needs refining Issue status label Jun 20, 2023
@github-actions github-actions bot added the CMS Team CMS Product team that manages both editor exp and devops label Jun 20, 2023
@productmike productmike added the Cross Team Discussion Multi-Team coordination needed label Jun 28, 2023
@laflannery laflannery removed the Needs refining Issue status label Jul 17, 2023
@laflannery laflannery self-assigned this Jul 17, 2023
@EWashb
Copy link
Contributor

EWashb commented Jul 20, 2023

Thank you for this write up @laflannery I think that for the CM planning, we should be sure to make CAIA aware of this change, the timeline, and the impact that it may have on them. Please loop in their PM and/or @DanielleThierryUSDSVA about this. The bet we are making is that accessibility errors introduced from duplicate IDs are more critical than the risk of possible broken anchor links.

Also, using the daily scan, I would like to document someplace the number of errors we are currently seeing.

@laflannery
Copy link
Contributor Author

Posted in SWCAIA Channel: https://dsva.slack.com/archives/C01K37HRUAH/p1690298964631579

@laflannery
Copy link
Contributor Author

laflannery commented Jul 25, 2023

I was able to add a label to JIRA to see how many duplicate ID issues were added since I started - this should be a pretty accurate number because every time the issues was flagged in the daily scan, I created a JIRA issue for the editor. There are currently 123 issues with the duplicate-id tag. However, if the page with the issue was owned by SWCAIA, I created the issue in GitHub so this number is probably missing about 5-10 instances.

@EWashb
Copy link
Contributor

EWashb commented Jul 25, 2023

That's great data. Thank you for tracking that down @laflannery

@laflannery
Copy link
Contributor Author

We documented the change in Github here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CMS Team CMS Product team that manages both editor exp and devops Cross Team Discussion Multi-Team coordination needed
Projects
None yet
Development

No branches or pull requests

3 participants