@@ -1565,6 +1593,7 @@ button.c10 {
class="c2"
>
Yes
@@ -1579,6 +1608,7 @@ button.c10 {
class="visually-hidden c11"
id="no"
name="102"
+ role="option"
type="checkbox"
value="no"
/>
@@ -1586,6 +1616,7 @@ button.c10 {
class="c2"
>
No
@@ -1601,6 +1632,7 @@ button.c10 {
Next
@@ -1608,6 +1640,7 @@ button.c10 {
Back
@@ -1626,12 +1659,14 @@ button.c10 {
Help
Settings
@@ -1654,9 +1689,10 @@ exports[`basic end-to-end flow 5`] = `
>
Measure 102: Vehicle Abatement Program
-
+
Vote Yes or No.
@@ -1699,9 +1737,7 @@ exports[`basic end-to-end flow 5`] = `
class="sc-hSdWYo bBJVLg"
>
@@ -1718,6 +1755,7 @@ exports[`basic end-to-end flow 5`] = `
class="sc-htpNat eqsiuG"
>
Yes
@@ -1732,6 +1770,7 @@ exports[`basic end-to-end flow 5`] = `
class="visually-hidden sc-jDwBTQ fQAjmo"
id="no"
name="102"
+ role="option"
type="checkbox"
value="no"
/>
@@ -1739,6 +1778,7 @@ exports[`basic end-to-end flow 5`] = `
class="sc-htpNat eqsiuG"
>
No
@@ -1754,6 +1794,7 @@ exports[`basic end-to-end flow 5`] = `
Next
@@ -1761,6 +1802,7 @@ exports[`basic end-to-end flow 5`] = `
Back
@@ -1779,12 +1821,14 @@ exports[`basic end-to-end flow 5`] = `
Help
Settings
@@ -2110,6 +2154,7 @@ exports[`basic end-to-end flow 6`] = `
class="c1"
>
Confirm and change any votes as necessary.
+
Review Selections
@@ -2273,6 +2324,7 @@ exports[`basic end-to-end flow 6`] = `
Back
@@ -2364,12 +2416,14 @@ exports[`basic end-to-end flow 6`] = `
Help
Settings
@@ -2755,8 +2809,11 @@ button.c7 {
>
-
+
Review Your Ballot Selections
United States
,
@@ -2806,9 +2864,11 @@ button.c7 {
Change
@@ -2818,29 +2878,32 @@ button.c7 {
United States
,
Senator
No selection was made for this contest.
Change
@@ -2850,29 +2913,32 @@ button.c7 {
United States
,
Representative, District 6
No selection was made for this contest.
Change
@@ -2882,29 +2948,32 @@ button.c7 {
State of Hamilton
,
Governor
No selection was made for this contest.
Change
@@ -2914,29 +2983,32 @@ button.c7 {
State of Hamilton
,
Lieutenant Governor
No selection was made for this contest.
Change
@@ -2946,29 +3018,32 @@ button.c7 {
State of Hamilton
,
Secretary of State
No selection was made for this contest.
Change
@@ -2978,29 +3053,32 @@ button.c7 {
State of Hamilton
,
Senator, District 31
No selection was made for this contest.
Change
@@ -3010,29 +3088,32 @@ button.c7 {
State of Hamilton
,
Assembly Member, District 54
No selection was made for this contest.
Change
@@ -3042,29 +3123,32 @@ button.c7 {
Franklin County
,
County Commissioners
No selection was made for this contest.
Change
@@ -3074,29 +3158,32 @@ button.c7 {
Franklin County
,
Registrar of Wills
No selection was made for this contest.
Change
@@ -3106,29 +3193,32 @@ button.c7 {
City of Springfield
,
Mayor
No selection was made for this contest.
Change
@@ -3138,29 +3228,32 @@ button.c7 {
City of Springfield
,
City Council
No selection was made for this contest.
Change
@@ -3170,29 +3263,32 @@ button.c7 {
Hamilton Court of Appeals
,
Retain Robert Demergue as Chief Justice?
No selection was made for this contest.
Change
@@ -3202,29 +3298,32 @@ button.c7 {
Hamilton Court of Appeals
,
Retain Elmer Hull as Associate Justice?
No selection was made for this contest.
Change
@@ -3234,29 +3333,32 @@ button.c7 {
State of Hamilton
,
Question A: Recovery of Property Damages
No selection was made for this contest.
Change
@@ -3266,29 +3368,32 @@ button.c7 {
State of Hamilton
,
Question B: Separation of Powers
No selection was made for this contest.
Change
@@ -3298,29 +3403,32 @@ button.c7 {
State of Hamilton
,
Question C: Limits to Damages for Non-Economic Loss
No selection was made for this contest.
Change
@@ -3330,29 +3438,32 @@ button.c7 {
State of Hamilton
,
Proposition 1: Gambling in Franklin and Fromwit Counties
No selection was made for this contest.
Change
@@ -3362,29 +3473,32 @@ button.c7 {
Franklin County
,
Measure 101: College District
No selection was made for this contest.
Change
@@ -3394,13 +3508,14 @@ button.c7 {
Franklin County
,
@@ -3415,9 +3530,11 @@ button.c7 {
Change
@@ -3508,6 +3625,7 @@ button.c7 {
Next
@@ -3600,12 +3718,14 @@ button.c7 {
Help
Settings
@@ -3854,9 +3974,10 @@ button.c8 {
>
County Commissioners
-
+
Vote for
4
@@ -3888,11 +4011,10 @@ button.c8 {
class="c6"
>
@@ -3900,6 +4022,7 @@ button.c8 {
class="visually-hidden c9"
id="argent"
name="Camille Argent"
+ role="option"
type="checkbox"
value="argent"
/>
@@ -3907,7 +4030,6 @@ button.c8 {
class="c2"
>
@@ -3919,6 +4041,7 @@ button.c8 {
@@ -3926,6 +4049,7 @@ button.c8 {
class="visually-hidden c9"
id="witherspoonsmithson"
name="Chloe Witherspoon-Smithson"
+ role="option"
type="checkbox"
value="witherspoonsmithson"
/>
@@ -3933,7 +4057,6 @@ button.c8 {
class="c2"
>
@@ -3945,6 +4068,7 @@ button.c8 {
@@ -3952,6 +4076,7 @@ button.c8 {
class="visually-hidden c9"
id="bainbridge"
name="Clayton Bainbridge"
+ role="option"
type="checkbox"
value="bainbridge"
/>
@@ -3959,7 +4084,6 @@ button.c8 {
class="c2"
>
@@ -3971,6 +4095,7 @@ button.c8 {
@@ -3978,6 +4103,7 @@ button.c8 {
class="visually-hidden c9"
id="hennessey"
name="Charlene Hennessey"
+ role="option"
type="checkbox"
value="hennessey"
/>
@@ -3985,7 +4111,6 @@ button.c8 {
class="c2"
>
@@ -3997,6 +4122,7 @@ button.c8 {
@@ -4004,6 +4130,7 @@ button.c8 {
class="visually-hidden c9"
id="savoy"
name="Eric Savoy"
+ role="option"
type="checkbox"
value="savoy"
/>
@@ -4011,7 +4138,6 @@ button.c8 {
class="c2"
>
@@ -4023,6 +4149,7 @@ button.c8 {
@@ -4030,6 +4157,7 @@ button.c8 {
class="visually-hidden c9"
id="tawa"
name="Susan Tawa"
+ role="option"
type="checkbox"
value="tawa"
/>
@@ -4037,7 +4165,6 @@ button.c8 {
class="c2"
>
@@ -4049,6 +4176,7 @@ button.c8 {
@@ -4056,6 +4184,7 @@ button.c8 {
class="visually-hidden c9"
id="tawa-mary"
name="Mary Tawa"
+ role="option"
type="checkbox"
value="tawa-mary"
/>
@@ -4063,7 +4192,6 @@ button.c8 {
class="c2"
>
@@ -4075,6 +4203,7 @@ button.c8 {
@@ -4082,6 +4211,7 @@ button.c8 {
class="visually-hidden c9"
id="rangel"
name="Damian Rangel"
+ role="option"
type="checkbox"
value="rangel"
/>
@@ -4089,7 +4219,6 @@ button.c8 {
class="c2"
>
@@ -4101,6 +4230,7 @@ button.c8 {
@@ -4108,6 +4238,7 @@ button.c8 {
class="visually-hidden c9"
id="altman"
name="Valarie Altman"
+ role="option"
type="checkbox"
value="altman"
/>
@@ -4115,7 +4246,6 @@ button.c8 {
class="c2"
>
@@ -4127,6 +4257,7 @@ button.c8 {
@@ -4134,6 +4265,7 @@ button.c8 {
class="visually-hidden c9"
id="moore"
name="Helen Moore"
+ role="option"
type="checkbox"
value="moore"
/>
@@ -4141,7 +4273,6 @@ button.c8 {
class="c2"
>
@@ -4153,6 +4284,7 @@ button.c8 {
@@ -4160,6 +4292,7 @@ button.c8 {
class="visually-hidden c9"
id="white"
name="John White"
+ role="option"
type="checkbox"
value="white"
/>
@@ -4167,7 +4300,6 @@ button.c8 {
class="c2"
>
@@ -4179,6 +4311,7 @@ button.c8 {
@@ -4186,6 +4319,7 @@ button.c8 {
class="visually-hidden c9"
id="schmidt"
name="Joe Schmidt"
+ role="option"
type="checkbox"
value="schmidt"
/>
@@ -4193,7 +4327,6 @@ button.c8 {
class="c2"
>
@@ -4205,6 +4338,7 @@ button.c8 {
@@ -4212,6 +4346,7 @@ button.c8 {
class="visually-hidden c9"
id="smith"
name="Joe Smith"
+ role="option"
type="checkbox"
value="smith"
/>
@@ -4219,7 +4354,6 @@ button.c8 {
class="c2"
>
@@ -4231,6 +4365,7 @@ button.c8 {
@@ -4238,6 +4373,7 @@ button.c8 {
class="visually-hidden c9"
id="marracini"
name="Amanda Marracini"
+ role="option"
type="checkbox"
value="marracini"
/>
@@ -4245,7 +4381,6 @@ button.c8 {
class="c2"
>
@@ -4257,6 +4392,7 @@ button.c8 {
@@ -4264,6 +4400,7 @@ button.c8 {
class="visually-hidden c9"
id="schreiner"
name="Martin Schreiner"
+ role="option"
type="checkbox"
value="schreiner"
/>
@@ -4271,7 +4408,6 @@ button.c8 {
class="c2"
>
@@ -4369,6 +4505,7 @@ button.c8 {
Review Ballot
@@ -4457,12 +4594,14 @@ button.c8 {
Help
Settings
@@ -4485,9 +4624,10 @@ exports[`basic end-to-end flow 9`] = `
>
County Commissioners
-
+
Vote for
4
@@ -4519,11 +4661,10 @@ exports[`basic end-to-end flow 9`] = `
class="sc-kGXeez izhLGa"
>
@@ -4531,6 +4672,7 @@ exports[`basic end-to-end flow 9`] = `
class="visually-hidden sc-ckVGcZ fAbweD"
id="argent"
name="Camille Argent"
+ role="option"
type="checkbox"
value="argent"
/>
@@ -4538,7 +4680,6 @@ exports[`basic end-to-end flow 9`] = `
class="sc-htpNat eqsiuG"
>
@@ -4550,6 +4691,7 @@ exports[`basic end-to-end flow 9`] = `
@@ -4557,6 +4699,7 @@ exports[`basic end-to-end flow 9`] = `
class="visually-hidden sc-ckVGcZ fAbweD"
id="witherspoonsmithson"
name="Chloe Witherspoon-Smithson"
+ role="option"
type="checkbox"
value="witherspoonsmithson"
/>
@@ -4564,7 +4707,6 @@ exports[`basic end-to-end flow 9`] = `
class="sc-htpNat eqsiuG"
>
@@ -4576,6 +4718,7 @@ exports[`basic end-to-end flow 9`] = `
@@ -4583,6 +4726,7 @@ exports[`basic end-to-end flow 9`] = `
class="visually-hidden sc-ckVGcZ fAbweD"
id="bainbridge"
name="Clayton Bainbridge"
+ role="option"
type="checkbox"
value="bainbridge"
/>
@@ -4590,7 +4734,6 @@ exports[`basic end-to-end flow 9`] = `
class="sc-htpNat eqsiuG"
>
@@ -4602,6 +4745,7 @@ exports[`basic end-to-end flow 9`] = `
@@ -4609,6 +4753,7 @@ exports[`basic end-to-end flow 9`] = `
class="visually-hidden sc-ckVGcZ fAbweD"
id="hennessey"
name="Charlene Hennessey"
+ role="option"
type="checkbox"
value="hennessey"
/>
@@ -4616,7 +4761,6 @@ exports[`basic end-to-end flow 9`] = `
class="sc-htpNat eqsiuG"
>
@@ -4628,6 +4772,7 @@ exports[`basic end-to-end flow 9`] = `
@@ -4635,6 +4780,7 @@ exports[`basic end-to-end flow 9`] = `
class="visually-hidden sc-ckVGcZ fAbweD"
id="savoy"
name="Eric Savoy"
+ role="option"
type="checkbox"
value="savoy"
/>
@@ -4642,7 +4788,6 @@ exports[`basic end-to-end flow 9`] = `
class="sc-htpNat eqsiuG"
>
@@ -4654,6 +4799,7 @@ exports[`basic end-to-end flow 9`] = `
@@ -4661,6 +4807,7 @@ exports[`basic end-to-end flow 9`] = `
class="visually-hidden sc-ckVGcZ fAbweD"
id="tawa"
name="Susan Tawa"
+ role="option"
type="checkbox"
value="tawa"
/>
@@ -4668,7 +4815,6 @@ exports[`basic end-to-end flow 9`] = `
class="sc-htpNat eqsiuG"
>
@@ -4680,6 +4826,7 @@ exports[`basic end-to-end flow 9`] = `
@@ -4687,6 +4834,7 @@ exports[`basic end-to-end flow 9`] = `
class="visually-hidden sc-ckVGcZ fAbweD"
id="tawa-mary"
name="Mary Tawa"
+ role="option"
type="checkbox"
value="tawa-mary"
/>
@@ -4694,7 +4842,6 @@ exports[`basic end-to-end flow 9`] = `
class="sc-htpNat eqsiuG"
>
@@ -4706,6 +4853,7 @@ exports[`basic end-to-end flow 9`] = `
@@ -4713,6 +4861,7 @@ exports[`basic end-to-end flow 9`] = `
class="visually-hidden sc-ckVGcZ fAbweD"
id="rangel"
name="Damian Rangel"
+ role="option"
type="checkbox"
value="rangel"
/>
@@ -4720,7 +4869,6 @@ exports[`basic end-to-end flow 9`] = `
class="sc-htpNat eqsiuG"
>
@@ -4732,6 +4880,7 @@ exports[`basic end-to-end flow 9`] = `
@@ -4739,6 +4888,7 @@ exports[`basic end-to-end flow 9`] = `
class="visually-hidden sc-ckVGcZ fAbweD"
id="altman"
name="Valarie Altman"
+ role="option"
type="checkbox"
value="altman"
/>
@@ -4746,7 +4896,6 @@ exports[`basic end-to-end flow 9`] = `
class="sc-htpNat eqsiuG"
>
@@ -4758,6 +4907,7 @@ exports[`basic end-to-end flow 9`] = `
@@ -4765,6 +4915,7 @@ exports[`basic end-to-end flow 9`] = `
class="visually-hidden sc-ckVGcZ fAbweD"
id="moore"
name="Helen Moore"
+ role="option"
type="checkbox"
value="moore"
/>
@@ -4772,7 +4923,6 @@ exports[`basic end-to-end flow 9`] = `
class="sc-htpNat eqsiuG"
>
@@ -4784,6 +4934,7 @@ exports[`basic end-to-end flow 9`] = `
@@ -4791,6 +4942,7 @@ exports[`basic end-to-end flow 9`] = `
class="visually-hidden sc-ckVGcZ fAbweD"
id="white"
name="John White"
+ role="option"
type="checkbox"
value="white"
/>
@@ -4798,7 +4950,6 @@ exports[`basic end-to-end flow 9`] = `
class="sc-htpNat eqsiuG"
>
@@ -4810,6 +4961,7 @@ exports[`basic end-to-end flow 9`] = `
@@ -4817,6 +4969,7 @@ exports[`basic end-to-end flow 9`] = `
class="visually-hidden sc-ckVGcZ fAbweD"
id="schmidt"
name="Joe Schmidt"
+ role="option"
type="checkbox"
value="schmidt"
/>
@@ -4824,7 +4977,6 @@ exports[`basic end-to-end flow 9`] = `
class="sc-htpNat eqsiuG"
>
@@ -4836,6 +4988,7 @@ exports[`basic end-to-end flow 9`] = `
@@ -4843,6 +4996,7 @@ exports[`basic end-to-end flow 9`] = `
class="visually-hidden sc-ckVGcZ fAbweD"
id="smith"
name="Joe Smith"
+ role="option"
type="checkbox"
value="smith"
/>
@@ -4850,7 +5004,6 @@ exports[`basic end-to-end flow 9`] = `
class="sc-htpNat eqsiuG"
>
@@ -4862,6 +5015,7 @@ exports[`basic end-to-end flow 9`] = `
@@ -4869,6 +5023,7 @@ exports[`basic end-to-end flow 9`] = `
class="visually-hidden sc-ckVGcZ fAbweD"
id="marracini"
name="Amanda Marracini"
+ role="option"
type="checkbox"
value="marracini"
/>
@@ -4876,7 +5031,6 @@ exports[`basic end-to-end flow 9`] = `
class="sc-htpNat eqsiuG"
>
@@ -4888,6 +5042,7 @@ exports[`basic end-to-end flow 9`] = `
@@ -4895,6 +5050,7 @@ exports[`basic end-to-end flow 9`] = `
class="visually-hidden sc-ckVGcZ fAbweD"
id="schreiner"
name="Martin Schreiner"
+ role="option"
type="checkbox"
value="schreiner"
/>
@@ -4902,7 +5058,6 @@ exports[`basic end-to-end flow 9`] = `
class="sc-htpNat eqsiuG"
>
@@ -4939,6 +5094,7 @@ exports[`basic end-to-end flow 9`] = `
Review Ballot
@@ -4950,12 +5106,14 @@ exports[`basic end-to-end flow 9`] = `
Help
Settings
@@ -5341,8 +5499,11 @@ button.c7 {
>
-
+
Review Your Ballot Selections
United States
,
@@ -5392,9 +5554,11 @@ button.c7 {
Change
@@ -5404,29 +5568,32 @@ button.c7 {
United States
,
Senator
No selection was made for this contest.
Change
@@ -5436,29 +5603,32 @@ button.c7 {
United States
,
Representative, District 6
No selection was made for this contest.
Change
@@ -5468,29 +5638,32 @@ button.c7 {
State of Hamilton
,
Governor
No selection was made for this contest.
Change
@@ -5500,29 +5673,32 @@ button.c7 {
State of Hamilton
,
Lieutenant Governor
No selection was made for this contest.
Change
@@ -5532,29 +5708,32 @@ button.c7 {
State of Hamilton
,
Secretary of State
No selection was made for this contest.
Change
@@ -5564,29 +5743,32 @@ button.c7 {
State of Hamilton
,
Senator, District 31
No selection was made for this contest.
Change
@@ -5596,29 +5778,32 @@ button.c7 {
State of Hamilton
,
Assembly Member, District 54
No selection was made for this contest.
Change
@@ -5628,13 +5813,14 @@ button.c7 {
Franklin County
,
@@ -5672,9 +5858,11 @@ button.c7 {
Change
@@ -5684,29 +5872,32 @@ button.c7 {
Franklin County
,
Registrar of Wills
No selection was made for this contest.
Change
@@ -5716,29 +5907,32 @@ button.c7 {
City of Springfield
,
Mayor
No selection was made for this contest.
Change
@@ -5748,29 +5942,32 @@ button.c7 {
City of Springfield
,
City Council
No selection was made for this contest.
Change
@@ -5780,29 +5977,32 @@ button.c7 {
Hamilton Court of Appeals
,
Retain Robert Demergue as Chief Justice?
No selection was made for this contest.
Change
@@ -5812,29 +6012,32 @@ button.c7 {
Hamilton Court of Appeals
,
Retain Elmer Hull as Associate Justice?
No selection was made for this contest.
Change
@@ -5844,29 +6047,32 @@ button.c7 {
State of Hamilton
,
Question A: Recovery of Property Damages
No selection was made for this contest.
Change
@@ -5876,29 +6082,32 @@ button.c7 {
State of Hamilton
,
Question B: Separation of Powers
No selection was made for this contest.
Change
@@ -5908,29 +6117,32 @@ button.c7 {
State of Hamilton
,
Question C: Limits to Damages for Non-Economic Loss
No selection was made for this contest.
Change
@@ -5940,29 +6152,32 @@ button.c7 {
State of Hamilton
,
Proposition 1: Gambling in Franklin and Fromwit Counties
No selection was made for this contest.
Change
@@ -5972,29 +6187,32 @@ button.c7 {
Franklin County
,
Measure 101: College District
No selection was made for this contest.
Change
@@ -6004,13 +6222,14 @@ button.c7 {
Franklin County
,
@@ -6025,9 +6244,11 @@ button.c7 {
Change
@@ -6118,6 +6339,7 @@ button.c7 {
Next
@@ -6210,12 +6432,14 @@ button.c7 {
Help
Settings
diff --git a/src/components/Breadcrumbs.tsx b/src/components/Breadcrumbs.tsx
index 4975719..859f8bf 100644
--- a/src/components/Breadcrumbs.tsx
+++ b/src/components/Breadcrumbs.tsx
@@ -78,7 +78,7 @@ const StepLabel = styled.div`
`
const Breadcrumbs = ({ step }: { step: number }) => (
-
+
{['Mark', 'Review', 'Print', 'Cast'].map((label, i) => {
const stepNumber = i + 1
diff --git a/src/components/CandidateContest.tsx b/src/components/CandidateContest.tsx
index 44ae27a..c979687 100644
--- a/src/components/CandidateContest.tsx
+++ b/src/components/CandidateContest.tsx
@@ -181,6 +181,7 @@ const Choice = styled('label')<{ isSelected: boolean }>`
`
const ChoiceInput = styled.input.attrs({
type: 'checkbox',
+ role: 'option',
})`
margin-right: 0.5rem;
`
@@ -418,12 +419,16 @@ class CandidateContest extends React.Component {
-
+
You may only select {contest.seats}{' '}
{contest.seats === 1 ? 'candidate' : 'candidates'} in this
contest. To vote for{' '}
{attemptedOvervoteCandidate && attemptedOvervoteCandidate.name},
you must first unselect selected{' '}
{contest.seats === 1 ? 'candidate' : 'candidates'}.
+
}
actions={
-
+
Okay
}
diff --git a/src/components/LinkButton.tsx b/src/components/LinkButton.tsx
index 2243925..f46eaba 100644
--- a/src/components/LinkButton.tsx
+++ b/src/components/LinkButton.tsx
@@ -41,6 +41,7 @@ const LinkButton = (props: Props) => {
return (
)
diff --git a/src/components/Modal.tsx b/src/components/Modal.tsx
index 4d00c46..e3af169 100644
--- a/src/components/Modal.tsx
+++ b/src/components/Modal.tsx
@@ -38,13 +38,22 @@ const Modal: React.FC = ({
centerContent,
ariaLabel = 'Alert Modal',
isOpen,
- onAfterOpen,
+ onAfterOpen = () => {
+ window.setTimeout(() => {
+ const element = document.getElementById('modalaudiofocus')
+ if (element) {
+ element.focus()
+ element.click()
+ }
+ }, 10)
+ },
}: Props) => (
{
}
}
public focus = () => {
- const screen = this.screen.current!
- screen.focus()
- screen.click()
+ const elementToFocus =
+ document.getElementById('audiofocus') || this.screen.current!
+ elementToFocus.focus()
+ elementToFocus.click()
}
public render() {
return (
diff --git a/src/components/YesNoContest.tsx b/src/components/YesNoContest.tsx
index d965c66..72028f4 100644
--- a/src/components/YesNoContest.tsx
+++ b/src/components/YesNoContest.tsx
@@ -190,6 +190,7 @@ const Choice = styled('label')<{ isSelected: boolean }>`
}
`
const ChoiceInput = styled.input.attrs({
+ role: 'option',
type: 'checkbox',
})`
margin-right: 0.5rem;
@@ -318,12 +319,12 @@ export default class YesNoContest extends React.Component {