* Remove overly verbose image captions in image listings for screen readers (Sage Abdullah)
* Ensure screen readers and dictation tools can more easily navigate bulk actions in images, documents and page listings by streamlining labels and descriptions (Sage Abdullah)
* Ensure that the legacy dropdown options, when closed, do not get accidentally clicked by other interactions wide viewports (CheesyPhoenix, Christer Jensen)
* Document, for contributors, the use of translate string literals passed as arguments to tags and filters using `_()` within templates (Chiemezuo Akujobi)
* Add clarity that [`MultipleChooserPanel`](multiple_chooser_panel) may require a chooser viewset and how the functionality is expected to work (Andy Chosak)
* Migrate initialization of classes (such as `body.ready`) from multiple JavaScript implementations to one Stimulus controller `w-init` (Chiemezuo Akujobi)
Features previously deprecated in Wagtail 4.2, 5.0 and 5.1 have been fully removed. For additional details on these changes, see:
* [Wagtail 4.2 release notes](/releases/4.2)
* [Wagtail 5.0 release notes](/releases/5.0)
* [Wagtail 5.1 release notes](/releases/5.1)
The most significant changes are highlighted below.
### Removal of ModelAdmin app
The `wagtail.contrib.modeladmin` app has been removed. If you wish to continue using it, it is available as the external package [`wagtail-modeladmin`](https://github.com/wagtail-nest/wagtail-modeladmin).
The Elasticsearch 5 and 6 backends have been removed. If you are using one of these backends, you will need to upgrade to Elasticsearch 7 or 8 before upgrading to Wagtail 6.0.
### StreamField no longer requires `use_json_field=True`
The `use_json_field` argument to `StreamField` is no longer required, and can be removed. StreamField now consistently uses JSONField for its database representation, and Wagtail 5.0 required older TextField-based streams to be migrated. As such, `use_json_field` no longer has any effect.
### Other removals
* The `WAGTAILADMIN_GLOBAL_PAGE_EDIT_LOCK` setting is no longer recognised and should be replaced with `WAGTAILADMIN_GLOBAL_EDIT_LOCK`.
* The `Query` model is no longer part of the `wagtail.search` module; it can now be found in the optional `wagtail.contrib.search_promotions` app.
* The `wagtail.models.UserPagePermissionsProxy` class and `get_pages_with_direct_explore_permission`, `get_explorable_root_page` and `users_with_page_permission` functions have been removed; equivalent functionality exists in the `wagtail.permission_policies.pages.PagePermissionPolicy` class.
* The `permission_type` field of the `GroupPagePermission` model has been removed; the `permission` field (a foreign key to Django's `Permission` model) should be used instead.
* The legacy moderation system used prior to the introduction of workflows in Wagtail 2.10 has been removed. Any moderation requests still in the queue from before this time will be lost.
* The Wagtail icon font has been removed; any direct usage of this needs to be converted to SVG icons.
* Various unused icons deprecated in Wagtail 5.0 have been removed.
* The `partial_match` argument on `SearchField` and on `search` methods has been removed. `AutocompleteField` and the `autocomplete` method should be used instead.
* The `insert_editor_css` hook has been removed; the `insert_global_admin_css` hook should be used instead.
* The `wagtail.contrib.frontend_cache` module now supports `azure-mgmt-cdn` version 10 and `azure-mgmt-frontdoor` version 1 as its minimum supported versions.
* The `Task.page_locked_for_user` method has been removed; `Task.locked_for_user` should be used instead.
* The `{% icon %}` template tag no longer accepts `class_name` as an argument; `classname` should be used instead.
* The `wagtail.tests.utils` module has been removed and can now be found at `wagtail.test.utils`.
* The template `wagtailadmin/shared/field_as_li.html` has been removed, and should be replaced with `wagtailadmin/shared/field.html` enclosed in an `<li>` tag.
* The custom client-side events `wagtail:show` and `wagtail:hide` on showing and hiding dialogs have been removed; `w-dialog:show` and `w-dialog:hide` should be used instead.
* The global Javascript definitions `headerSearch`, `initTagField`, `cancelSpinner` and `unicodeSlugsEnabled` have been removed; these should be replaced with Stimulus controllers.
## Upgrade considerations - changes affecting all projects