Compare commits

..

1 Commits

Author SHA1 Message Date
Frédéric Péters acabf97512 a11y: add group role to blocks (#88620)
gitea/wcs/pipeline/head This commit looks good Details
2024-03-25 13:01:44 +01:00
2 changed files with 4 additions and 16 deletions

View File

@ -84,8 +84,8 @@ def test_block_a11y(pub):
block = BlockDef()
block.name = 'foobar'
block.fields = [
fields.CommentField(id='123', label='Test'),
fields.CommentField(id='234', label='Test2'),
fields.StringField(id='123', label='Test'),
fields.StringField(id='234', label='Test2'),
]
block.store()
@ -98,15 +98,6 @@ def test_block_a11y(pub):
app = get_app(pub)
resp = app.get(formdef.get_url())
assert not resp.pyquery('.BlockWidget')[0].attrib.get('role')
assert not resp.pyquery('.BlockWidget')[0].attrib.get('aria-labelledby')
block.fields = [
fields.StringField(id='123', label='Test'),
fields.StringField(id='234', label='Test2'),
]
block.store()
resp = app.get(formdef.get_url())
assert resp.pyquery('.BlockWidget')[0].attrib.get('role') == 'group'
assert resp.pyquery('.BlockWidget')[0].attrib.get('aria-labelledby')
assert resp.pyquery('#' + resp.pyquery('.BlockWidget')[0].attrib.get('aria-labelledby'))

View File

@ -504,11 +504,8 @@ class BlockWidget(WidgetList):
@property
def a11y_role(self):
# don't mark block as a group if it has no label or no multiple data fields
if (
self.label_display != 'hidden'
and len([x for x in (self.block.fields or []) if not x.is_no_data_field]) > 1
):
# don't mark block as a group if it has no label
if self.label_display != 'hidden':
return 'group'
return None