Problem/Motivation
Update to CKEditor 5 v35.1.0 in core when this URL no longer 404s: https://github.com/ckeditor/ckeditor5/releases/tag/v35.1.0 (should be on August 31 per https://github.com/ckeditor/ckeditor5/issues/12107).
35.1.0 will bring fixes for almost all known accessibility problems:
- #3283800: [upstream] CKE5 dropdowns keyboard support
- #3283801: [upstream] CKE5 dropdown focus handling is not fully accessible
- #3283803: [upstream] CKE5 toggleable toolbar items not enough contrast
- #3283804: [upstream] CKE5 dropdown screenreader support
— all four of these are stable blockers! See #3238333: Roadmap to CKEditor 5 stable in Drupal 9.
Steps to reproduce
N/A
Proposed resolution
core/package.json- Apply the code review patch for the relevant branch
cd coreyarn installyarn run vendor-updateyarn run build:ckeditor5yarn run build:ckeditor5-types
Remaining tasks
- Update to 35.1.0
- But investigate before then whether Drupal core's CKEditor 5 plugins are affected by API changes, using https://ckeditor5.github.io/docs/nightly/ckeditor5/latest/updating/migra...
- Get tests to pass
- Review/RTBC
- Go relax on a virtual or actual beach
User interface changes
N/A
API changes
None.
Data model changes
None.
Release notes snippet
Drupal core was updated to use CKEditor 5 version 35.1.0.
| Comment | File | Size | Author |
|---|---|---|---|
| #22 | patchdiff-94-vs-95-do-not-test.patch | 6.46 KB | wim leers |
| #21 | 3306153-21-94x.patch | 2.55 MB | lauriii |
| #8 | 3306153-8-code-review.txt | 3.6 KB | lauriii |
| #8 | interdiff.txt | 2.18 KB | lauriii |
| #8 | 3306153-8-95x.patch | 2.55 MB | lauriii |
Issue fork drupal-3306153
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
wim leersOops!
Comment #3
longwaveFixing tags.
Comment #4
lauriiihttps://github.com/ckeditor/ckeditor5/releases/tag/v35.1.0 has been tagged.
Comment #5
wim leers22 minutes ago: https://github.com/ckeditor/ckeditor5/releases/tag/v35.1.0
EDIT: cross-posted 😄
Comment #6
lauriiiTeasing the bot with a 10.1.x patch first.
Comment #8
lauriiiThis should address the failing test 🤞
Comment #9
wim leers👍 This is a change that was added for accessibility purposes, to be in line with the (many!) accessibility fixes in the 35.1.0 release.
Accessibility maintainer @bnjmnm reviewed this together with @lauriii, so … 👍
👍 This is matching the upstream change of adopting the new tooltip API: https://github.com/ckeditor/ckeditor5/commit/002c96be1e910aeee4a4b7f0d97... + https://github.com/ckeditor/ckeditor5/commit/89f78f45995a23022207e6bc808....
The new API: https://github.com/ckeditor/ckeditor5/commit/1acdf50abc397aa5d0b0f1c3e5b....
To be precise:
Apparently there is no explicit documentation for this change, because the CKEditor 5 team considers to be a transparent change for 98% of integrators (of which Drupal is one). We're one of the very rare exceptions, because we did use the
TooltipViewclass which now no longer exists. I was pointed to https://ckeditor5.github.io/docs/nightly/ckeditor5/latest/api/module_ui_....👍 This is an upstream change, to improve contrast.
Comment #10
wim leersUpdate for #9.3: they're now working to expand their "migration guide" (to migrate/upgrade to
35.1.0), see https://github.com/ckeditor/ckeditor5/pull/12385/files. That confirms the changes made here! 👍(Please credit @oleq for making that happen upstream!)
Comment #12
lauriiiAdding credit for @bnjmnm for pairing on this with me.
Comment #13
xjmWhy does this have a weird constraint?
Comment #14
lauriii@xjm clarified on Slack that she meant to ask why is the version constraint different from the rest of the CKEditor 5 packages. The
@ckeditor/ckeditor5-dev-utilspackage is not part of the same monorepo with the rest of the packages. See that it's hosted here: https://github.com/ckeditor/ckeditor5-dev/blob/master/packages/ckeditor5.... For that reason its release cadence is disjointed with the rest of the packages. If you check https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-utils, you can see that it's pinned to the latest minor of that package, and that it's not a mistake. 😊Comment #15
xjmAdding to the STR -- one needs to apply the media fixes before rebuilding the assets. :)
Comment #18
xjmLooks great. Committed to 10.1.x and cherry-picked to 10.0.x. Will be back to review the 9.5.x patch in a bit.
Comment #20
xjmRepeated #18 for the 9.5.x patch and committed there too.
Let's also backport this to 9.4.x prior to 9.4.6 next week. (If/when we do that, it will actually not go in the beta1 release notes, since we're doing those as an overview of all changes from 9.4.x rather than since the last alpha.)
Comment #21
lauriiiMoving to RTBC since this is essentially same patch as the one for 9.5.x because we have kept 9.4.x CKEditor 5 mostly in sync with 9.5.x.
Comment #22
wim leersDoing
yields a tiny diff, which shows that it's only the context in
core/package.jsonthat is slightly different (see output attached).This is confirmed by doing
git diff origin/9.4.x origin/9.5.x -- core/package.json— or rather by using the latest9.4.xand the9.5.xjust prior to the above commit:git diff f20c0a2030cb19bafa2f54d7e5da8c75459410fd 74c6519^ -- core/package.json, which outputs:IOW the
9.4.xpatch in #21 is perfect! 💯Comment #23
catchCommitted/pushed to 9.4.x, thanks!