Skip to content

Commit c4ff43f

Browse files
authored
Merge branch 'master' into docs/glimmer-attribute-behavior
2 parents 73d2a01 + 3eb86d4 commit c4ff43f

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

tests/lib/rules/template-no-nested-interactive.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,18 @@ ruleTester.run('template-no-nested-interactive', rule, {
3939
Text
4040
</label>
4141
</template>`,
42+
// Canonical ARIA composite-widget hierarchies — driven by aria-query's
43+
// `requiredOwnedElements` (see lib/utils/interactive-roles.js). These are
44+
// WAI-ARIA APG patterns and must not be flagged.
45+
'<template><div role="listbox"><div role="option">A</div><div role="option">B</div></div></template>',
46+
'<template><div role="tablist"><div role="tab">Tab 1</div><div role="tab">Tab 2</div></div></template>',
47+
'<template><div role="tree"><div role="treeitem">Node</div></div></template>',
48+
'<template><div role="grid"><div role="row"><div role="gridcell">Cell</div></div></div></template>',
49+
'<template><div role="grid"><div role="row"><div role="rowheader">Header</div></div></div></template>',
50+
'<template><div role="grid"><div role="row"><div role="columnheader">Header</div></div></div></template>',
51+
'<template><div role="treegrid"><div role="row"><div role="gridcell">Cell</div></div></div></template>',
52+
'<template><div role="radiogroup"><div role="radio">Opt 1</div></div></template>',
53+
4254
// <audio>/<video> without `controls` are NOT interactive (no rendered UI, no focus).
4355
'<template><button><audio></audio></button></template>',
4456
'<template><button><video></video></button></template>',
@@ -357,6 +369,16 @@ hbsRuleTester.run('template-no-nested-interactive', rule, {
357369
// <audio>/<video> without `controls` are NOT interactive.
358370
'<button><audio></audio></button>',
359371
'<button><video></video></button>',
372+
373+
// Canonical ARIA composite-widget hierarchies.
374+
'<div role="listbox"><div role="option">A</div><div role="option">B</div></div>',
375+
'<div role="tablist"><div role="tab">Tab 1</div><div role="tab">Tab 2</div></div>',
376+
'<div role="tree"><div role="treeitem">Node</div></div>',
377+
'<div role="grid"><div role="row"><div role="gridcell">Cell</div></div></div>',
378+
'<div role="grid"><div role="row"><div role="rowheader">Header</div></div></div>',
379+
'<div role="grid"><div role="row"><div role="columnheader">Header</div></div></div>',
380+
'<div role="treegrid"><div role="row"><div role="gridcell">Cell</div></div></div>',
381+
'<div role="radiogroup"><div role="radio">Opt 1</div></div>',
360382
],
361383
invalid: [
362384
{

0 commit comments

Comments
 (0)