mirror of
https://github.com/django/django.git
synced 2025-10-23 21:59:11 +00:00
Refs #35189 -- Improved admin fieldset's accessibility by setting aria-labelledby.
Before this change, HTML <fieldset> elements in the admin site did not have an associated label to describe them. This commit defines a unique HTML id for the heading labeling a fieldset, and sets its aria-labelledby property to link the heading with the fieldset.
This commit is contained in:
committed by
nessita
parent
9c5fe93349
commit
01ed59f753
@@ -40,6 +40,8 @@ from .models import (
|
||||
OutfitItem,
|
||||
ParentModelWithCustomPk,
|
||||
Person,
|
||||
Photo,
|
||||
Photographer,
|
||||
Poll,
|
||||
Profile,
|
||||
ProfileCollection,
|
||||
@@ -98,6 +100,57 @@ class AuthorAdmin(admin.ModelAdmin):
|
||||
]
|
||||
|
||||
|
||||
class PhotoInlineMixin:
|
||||
model = Photo
|
||||
extra = 2
|
||||
fieldsets = [
|
||||
(None, {"fields": ["image", "title"]}),
|
||||
(
|
||||
"Details",
|
||||
{"fields": ["description", "creation_date"], "classes": ["collapse"]},
|
||||
),
|
||||
(
|
||||
"Details", # Fieldset name intentionally duplicated
|
||||
{"fields": ["update_date", "updated_by"]},
|
||||
),
|
||||
]
|
||||
|
||||
|
||||
class PhotoTabularInline(PhotoInlineMixin, admin.TabularInline):
|
||||
pass
|
||||
|
||||
|
||||
class PhotoStackedExtra2Inline(PhotoInlineMixin, admin.StackedInline):
|
||||
pass
|
||||
|
||||
|
||||
class PhotoStackedExtra3Inline(PhotoInlineMixin, admin.StackedInline):
|
||||
extra = 3
|
||||
|
||||
|
||||
class PhotoStackedCollapsibleInline(PhotoInlineMixin, admin.StackedInline):
|
||||
fieldsets = []
|
||||
classes = ["collapse"]
|
||||
|
||||
|
||||
class PhotographerAdmin(admin.ModelAdmin):
|
||||
fieldsets = [
|
||||
(None, {"fields": ["firstname", "fullname"]}),
|
||||
("Advanced options", {"fields": ["nationality", "residency"]}),
|
||||
(
|
||||
"Advanced options", # Fieldset name intentionally duplicated
|
||||
{"fields": ["siblings", "children"], "classes": ["collapse"]},
|
||||
),
|
||||
]
|
||||
inlines = [
|
||||
PhotoTabularInline,
|
||||
PhotoTabularInline,
|
||||
PhotoStackedExtra2Inline,
|
||||
PhotoStackedExtra3Inline,
|
||||
PhotoStackedCollapsibleInline,
|
||||
]
|
||||
|
||||
|
||||
class InnerInline(admin.StackedInline):
|
||||
model = Inner
|
||||
can_delete = False
|
||||
@@ -454,6 +507,7 @@ site.register(Teacher, TeacherAdmin)
|
||||
site.register(Chapter, inlines=[FootNoteNonEditableInlineCustomForm])
|
||||
site.register(OutfitItem, inlines=[WeaknessInlineCustomForm])
|
||||
site.register(Person, inlines=[AuthorTabularInline, FashonistaStackedInline])
|
||||
site.register(Photographer, PhotographerAdmin)
|
||||
site.register(Course, ClassAdminStackedHorizontal)
|
||||
site.register(CourseProxy, ClassAdminStackedVertical)
|
||||
site.register(CourseProxy1, ClassAdminTabularVertical)
|
||||
|
||||
Reference in New Issue
Block a user