Skip to content

Commit 376caf7

Browse files
jlp-craigmortenljharb
authored andcommitted
fix: add missing doc-pagefooter and doc-pageheader roles
1 parent ccf831c commit 376caf7

File tree

6 files changed

+157
-1
lines changed

6 files changed

+157
-1
lines changed

__tests__/src/rolesMap-test.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,8 @@ const entriesList = [
128128
["doc-noteref", expect.any(Object)],
129129
["doc-notice", expect.any(Object)],
130130
["doc-pagebreak", expect.any(Object)],
131+
["doc-pagefooter", expect.any(Object)],
132+
["doc-pageheader", expect.any(Object)],
131133
["doc-pagelist", expect.any(Object)],
132134
["doc-part", expect.any(Object)],
133135
["doc-preface", expect.any(Object)],
@@ -218,7 +220,7 @@ describe('rolesMap', function () {
218220
});
219221
describe('spread operator', function () {
220222
it('should have a specific length', function () {
221-
expect([...rolesMap].length).toEqual(137);
223+
expect([...rolesMap].length).toEqual(139);
222224
});
223225
test.each([...rolesMap])('Testing element: %o', (obj, roles) => {
224226
expect(entriesList).toEqual(

flow/aria.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,8 @@ type ARIADPubRole =
145145
| 'doc-noteref'
146146
| 'doc-notice'
147147
| 'doc-pagebreak'
148+
| 'doc-pagefooter'
149+
| 'doc-pageheader'
148150
| 'doc-pagelist'
149151
| 'doc-part'
150152
| 'doc-preface'

scripts/roles.json

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2359,6 +2359,82 @@
23592359
"requiredProps": [],
23602360
"superClass": ["separator"]
23612361
},
2362+
"doc-pagefooter": {
2363+
"abstract": false,
2364+
"accessibleNameRequired": false,
2365+
"childrenPresentational": false,
2366+
"nameFrom": ["prohibited"],
2367+
"prohibitedProps": [],
2368+
"props": [
2369+
"aria-atomic",
2370+
"aria-braillelabel",
2371+
"aria-brailleroledescription",
2372+
"aria-busy",
2373+
"aria-controls",
2374+
"aria-current",
2375+
"aria-describedby",
2376+
"aria-description",
2377+
"aria-details",
2378+
"aria-disabled",
2379+
"aria-dropeffect",
2380+
"aria-errormessage",
2381+
"aria-flowto",
2382+
"aria-grabbed",
2383+
"aria-haspopup",
2384+
"aria-hidden",
2385+
"aria-invalid",
2386+
"aria-keyshortcuts",
2387+
"aria-label",
2388+
"aria-labelledby",
2389+
"aria-live",
2390+
"aria-owns",
2391+
"aria-relevant",
2392+
"aria-roledescription"
2393+
],
2394+
"relatedConcepts": [],
2395+
"requiredContextRole": [],
2396+
"requiredOwnedElements": [],
2397+
"requiredProps": [],
2398+
"superClass": ["section"]
2399+
},
2400+
"doc-pageheader": {
2401+
"abstract": false,
2402+
"accessibleNameRequired": false,
2403+
"childrenPresentational": false,
2404+
"nameFrom": ["prohibited"],
2405+
"prohibitedProps": [],
2406+
"props": [
2407+
"aria-atomic",
2408+
"aria-braillelabel",
2409+
"aria-brailleroledescription",
2410+
"aria-busy",
2411+
"aria-controls",
2412+
"aria-current",
2413+
"aria-describedby",
2414+
"aria-description",
2415+
"aria-details",
2416+
"aria-disabled",
2417+
"aria-dropeffect",
2418+
"aria-errormessage",
2419+
"aria-flowto",
2420+
"aria-grabbed",
2421+
"aria-haspopup",
2422+
"aria-hidden",
2423+
"aria-invalid",
2424+
"aria-keyshortcuts",
2425+
"aria-label",
2426+
"aria-labelledby",
2427+
"aria-live",
2428+
"aria-owns",
2429+
"aria-relevant",
2430+
"aria-roledescription"
2431+
],
2432+
"relatedConcepts": [],
2433+
"requiredContextRole": [],
2434+
"requiredOwnedElements": [],
2435+
"requiredProps": [],
2436+
"superClass": ["section"]
2437+
},
23622438
"doc-pagelist": {
23632439
"abstract": false,
23642440
"accessibleNameRequired": false,

src/etc/roles/ariaDpubRoles.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ import docIntroductionRole from './dpub/docIntroductionRole';
3131
import docNoterefRole from './dpub/docNoterefRole';
3232
import docNoticeRole from './dpub/docNoticeRole';
3333
import docPagebreakRole from './dpub/docPagebreakRole';
34+
import docPagefooterRole from './dpub/docPagefooterRole';
35+
import docPageheaderRole from './dpub/docPageheaderRole';
3436
import docPagelistRole from './dpub/docPagelistRole';
3537
import docPartRole from './dpub/docPartRole';
3638
import docPrefaceRole from './dpub/docPrefaceRole';
@@ -72,6 +74,8 @@ const ariaDpubRoles: RoleDefinitions = [
7274
['doc-noteref', docNoterefRole],
7375
['doc-notice', docNoticeRole],
7476
['doc-pagebreak', docPagebreakRole],
77+
['doc-pagefooter', docPagefooterRole],
78+
['doc-pageheader', docPageheaderRole],
7579
['doc-pagelist', docPagelistRole],
7680
['doc-part', docPartRole],
7781
['doc-preface', docPrefaceRole],
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/**
2+
* @flow
3+
*/
4+
const docPagefooterRole: ARIARoleDefinition = {
5+
abstract: false,
6+
accessibleNameRequired: false,
7+
baseConcepts: [],
8+
childrenPresentational: false,
9+
nameFrom: [
10+
'prohibited',
11+
],
12+
prohibitedProps: [],
13+
props: {
14+
'aria-braillelabel': null,
15+
'aria-brailleroledescription': null,
16+
'aria-description': null,
17+
'aria-disabled': null,
18+
'aria-errormessage': null,
19+
'aria-haspopup': null,
20+
'aria-invalid': null,
21+
},
22+
relatedConcepts: [],
23+
requireContextRole: [],
24+
requiredContextRole: [],
25+
requiredOwnedElements: [],
26+
requiredProps: {},
27+
superClass: [
28+
[
29+
'roletype',
30+
'structure',
31+
'section',
32+
],
33+
],
34+
};
35+
36+
export default docPagefooterRole;
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/**
2+
* @flow
3+
*/
4+
const docPageheaderRole: ARIARoleDefinition = {
5+
abstract: false,
6+
accessibleNameRequired: false,
7+
baseConcepts: [],
8+
childrenPresentational: false,
9+
nameFrom: [
10+
'prohibited',
11+
],
12+
prohibitedProps: [],
13+
props: {
14+
'aria-braillelabel': null,
15+
'aria-brailleroledescription': null,
16+
'aria-description': null,
17+
'aria-disabled': null,
18+
'aria-errormessage': null,
19+
'aria-haspopup': null,
20+
'aria-invalid': null,
21+
},
22+
relatedConcepts: [],
23+
requireContextRole: [],
24+
requiredContextRole: [],
25+
requiredOwnedElements: [],
26+
requiredProps: {},
27+
superClass: [
28+
[
29+
'roletype',
30+
'structure',
31+
'section',
32+
],
33+
],
34+
};
35+
36+
export default docPageheaderRole;

0 commit comments

Comments
 (0)