a11y: add aria-required when input field required (#85451)
gitea/gadjo/pipeline/head This commit looks good
Details
gitea/gadjo/pipeline/head This commit looks good
Details
This commit is contained in:
parent
df330cdece
commit
04c0f88623
|
@ -114,6 +114,8 @@ def with_template(form):
|
|||
if field.errors:
|
||||
aria_described_by.append(f'error_{field.id_for_label}')
|
||||
field.field.widget.attrs['aria-invalid'] = 'true'
|
||||
if field.field.required:
|
||||
field.field.widget.attrs['aria-required'] = 'true'
|
||||
if aria_described_by:
|
||||
field.field.widget.attrs['aria-describedby'] = ' '.join(aria_described_by)
|
||||
fields_with_templates.append(
|
||||
|
|
|
@ -46,6 +46,7 @@ def test_with_template():
|
|||
rendered = t.render(ctx)
|
||||
assert PyQuery(rendered).find('input[type=text]')
|
||||
assert not PyQuery(rendered).find('input[type=text]').attr['aria-invalid']
|
||||
assert PyQuery(rendered).find('input[type=text]').attr['aria-required']
|
||||
|
||||
ctx = Context({'request': request, 'form': ExampleForm(data=request.GET)})
|
||||
rendered = t.render(ctx)
|
||||
|
@ -71,3 +72,10 @@ def test_with_template():
|
|||
PyQuery(rendered).find('input[type=text][aria-describedby]').attr['aria-describedby']
|
||||
== 'help_text_id_text error_id_text'
|
||||
)
|
||||
|
||||
class ExampleForm(forms.Form):
|
||||
text = forms.CharField(label='Text', max_length=50, required=False)
|
||||
|
||||
ctx = Context({'request': request, 'form': ExampleForm(data=request.GET)})
|
||||
rendered = t.render(ctx)
|
||||
assert not PyQuery(rendered).find('input[type=text]').attr['aria-required']
|
||||
|
|
Loading…
Reference in New Issue