Skip to content

Commit 55ea54e

Browse files
committed
fix: improve accessibility and remove invalid HTML patterns
1 parent 16b8554 commit 55ea54e

12 files changed

Lines changed: 55 additions & 42 deletions

File tree

apps/web/src/layouts/DefaultLayout/Nav.styles.css.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -273,6 +273,14 @@ export const chainPopUpButton = style({
273273
},
274274
})
275275

276+
export const chainPopUpItem = style({
277+
border: 0,
278+
width: '100%',
279+
textAlign: 'left',
280+
font: 'inherit',
281+
appearance: 'none',
282+
})
283+
276284
export const themeToggleButton = style([
277285
atoms({
278286
borderStyle: 'solid',
@@ -318,6 +326,7 @@ export const wrongNetworkButton = style({
318326
'border 0.1s ease-in-out, background 0.1s ease-in-out, transform 0.1s ease-out',
319327
borderWidth: 'normal',
320328
borderStyle: 'solid',
329+
background: 'transparent',
321330
borderColor: vars.color.negative,
322331
color: vars.color.negative,
323332
selectors: {

apps/web/src/layouts/DefaultLayout/NavMenu/ChainMenu.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { useAccount, useSwitchChain } from 'wagmi'
1010

1111
import {
1212
chainPopUpButton,
13+
chainPopUpItem,
1314
navButton,
1415
navPopUpWrapper,
1516
wrongNetworkButton,
@@ -140,7 +141,7 @@ export const ChainMenu: React.FC<ChainMenuProps> = ({
140141
borderColor="border"
141142
borderStyle="solid"
142143
borderWidth="normal"
143-
backgroundColor="background1"
144+
backgroundColor="transparent"
144145
borderRadius="curved"
145146
cursor={'pointer'}
146147
align={'center'}
@@ -187,7 +188,6 @@ export const ChainMenu: React.FC<ChainMenuProps> = ({
187188
mb="x2"
188189
align={'center'}
189190
justify={'center'}
190-
style={{ borderRadius: '8px' }}
191191
>
192192
{`Switch to ${selectedChain.name}`}
193193
</Flex>
@@ -197,7 +197,7 @@ export const ChainMenu: React.FC<ChainMenuProps> = ({
197197
as="button"
198198
type="button"
199199
key={chain.id}
200-
className={chainPopUpButton}
200+
className={[chainPopUpButton, chainPopUpItem]}
201201
borderRadius="normal"
202202
onClick={() => onChainChange(chain.id)}
203203
cursor={
@@ -214,7 +214,6 @@ export const ChainMenu: React.FC<ChainMenuProps> = ({
214214
justify={'space-between'}
215215
disabled={hasNetwork && !isSelectedChain(chain.id)}
216216
aria-current={selectedChain.id === chain.id ? 'true' : undefined}
217-
style={{ border: 0, width: '100%', textAlign: 'left' }}
218217
>
219218
<Flex align={'center'}>
220219
<Box h="x6" w="x6" mr="x2">

apps/web/src/styles/globals.css

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ body {
4444
--flatpickr-selected-bg: #000;
4545
--flatpickr-selected-text: #fff;
4646
--flatpickr-backdrop-shadow: 0 12px 28px rgba(0, 0, 0, 0.15);
47-
--focus-ring-color: #0085ff;
47+
--focus-ring-color: #0085ff; /* vars.color.focusRing holds the canonical tokenized value; update both in sync */
4848
--mde-border: #c8ccd0;
4949
--mde-header-bg: #f9f9f9;
5050
--mde-surface: #fff;
@@ -71,7 +71,7 @@ html[data-theme-mode='dark'] {
7171
--flatpickr-selected-bg: #fff;
7272
--flatpickr-selected-text: #1f2024;
7373
--flatpickr-backdrop-shadow: 0 12px 28px rgba(0, 0, 0, 0.45);
74-
--focus-ring-color: #0085ff;
74+
--focus-ring-color: #0085ff; /* vars.color.focusRing holds the canonical tokenized value; update both in sync */
7575
--mde-border: #3f4047;
7676
--mde-header-bg: #2a2b30;
7777
--mde-surface: #1f2024;

packages/create-dao-ui/src/components/AuctionSettingsForm/AuctionSettingsForm.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,6 @@ export const AuctionSettingsForm: React.FC<AuctionSettingsFormProps> = ({ title
215215
onClick={() => handleFastDAOToggle(formik)}
216216
aria-pressed={enableFastDAO}
217217
aria-label="Enable Fast DAO"
218-
style={{ borderWidth: 0, padding: 0 }}
219218
>
220219
{enableFastDAO && <Icon fill="background1" id="check" />}
221220
</Flex>

packages/create-dao-ui/src/components/FormNavButtons/FormNavButtons.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ interface FormNavButtonsProps {
2323
children?: React.ReactNode
2424
showReset?: boolean
2525
onAfterReset?: () => void
26+
formId?: string
2627
}
2728

2829
export const FormNavButtons: React.FC<FormNavButtonsProps> = ({
@@ -35,12 +36,13 @@ export const FormNavButtons: React.FC<FormNavButtonsProps> = ({
3536
children,
3637
showReset = true,
3738
onAfterReset,
39+
formId,
3840
}) => {
3941
const [isModalOpen, setIsModalOpen] = useState(false)
4042
const [isMounted, setIsMounted] = useState(false)
4143
const { resetForm } = useFormStore()
4244

43-
React.useEffect(() => {
45+
React.useLayoutEffect(() => {
4446
setIsMounted(true)
4547
}, [])
4648

@@ -56,7 +58,12 @@ export const FormNavButtons: React.FC<FormNavButtonsProps> = ({
5658
return
5759
}
5860

59-
document.querySelector('form')?.requestSubmit()
61+
if (formId) {
62+
;(document.getElementById(formId) as HTMLFormElement)?.requestSubmit()
63+
} else {
64+
const form = document.querySelector('form')
65+
if (form) (form as HTMLFormElement).requestSubmit()
66+
}
6067
}
6168

6269
return (

packages/create-dao-ui/src/components/ReviewAndDeploy/ReviewAndDeploy.css.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ export const deployCheckboxStyle = style({
3838
minWidth: 26,
3939
border: `1px solid ${vars.color.text1}`,
4040
borderRadius: '5px',
41+
padding: 0,
4142
selectors: {
4243
'&:hover': { cursor: 'pointer', background: vars.color.text1 },
4344
},

packages/create-dao-ui/src/components/ReviewAndDeploy/ReviewAndDeploy.tsx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -484,13 +484,12 @@ export const ReviewAndDeploy: React.FC<ReviewAndDeploy> = ({
484484
onClick={() => setHasConfirmedTerms((bool) => !bool)}
485485
aria-pressed={hasConfirmedTerms}
486486
aria-label="Confirm terms of service"
487-
style={{ borderWidth: 0, padding: 0 }}
488487
>
489488
{hasConfirmedTerms && <Icon fill="background1" id="check" />}
490489
</Flex>
491490

492491
<Flex className={deployCheckboxHelperText}>
493-
I have reviewed and acknowledge and agree to the{' '}
492+
I have reviewed, acknowledge, and agree to the{' '}
494493
<a
495494
href={'/legal'}
496495
target="_blank"
@@ -518,7 +517,6 @@ export const ReviewAndDeploy: React.FC<ReviewAndDeploy> = ({
518517
onClick={() => setHasConfirmedChain((bool) => !bool)}
519518
aria-pressed={hasConfirmedChain}
520519
aria-label="Confirm deployment chain"
521-
style={{ borderWidth: 0, padding: 0 }}
522520
>
523521
{hasConfirmedChain && <Icon fill="background1" id="check" />}
524522
</Flex>
@@ -545,7 +543,6 @@ export const ReviewAndDeploy: React.FC<ReviewAndDeploy> = ({
545543
onClick={() => setHasConfirmedRewards((bool) => !bool)}
546544
aria-pressed={hasConfirmedRewards}
547545
aria-label="Confirm rewards documentation"
548-
style={{ borderWidth: 0, padding: 0 }}
549546
>
550547
{hasConfirmedRewards && <Icon fill="background1" id="check" />}
551548
</Flex>
@@ -582,7 +579,6 @@ export const ReviewAndDeploy: React.FC<ReviewAndDeploy> = ({
582579
onClick={() => setHasConfirmedFastDAO((bool) => !bool)}
583580
aria-pressed={hasConfirmedFastDAO}
584581
aria-label="Confirm fast DAO timings"
585-
style={{ borderWidth: 0, padding: 0 }}
586582
>
587583
{hasConfirmedFastDAO && <Icon fill="background1" id="check" />}
588584
</Flex>

packages/create-proposal-ui/src/components/TransactionForm/Migration/PauseAuctionsForm.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,6 @@ export const PauseAuctionsForm: React.FC = () => {
114114
onClick={() => setReduceDelay((bool) => !bool)}
115115
aria-pressed={reduceDelay}
116116
aria-label="Reduce voting delay and period"
117-
style={{ borderWidth: 0, padding: 0 }}
118117
>
119118
{reduceDelay && <Icon fill="background1" id="check" />}
120119
</Flex>

packages/create-proposal-ui/src/components/TransactionForm/ReplaceArtwork/ReplaceArtworkForm.css.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export const checkboxStyle = style({
1313
minWidth: 26,
1414
border: `1px solid ${vars.color.text1}`,
1515
borderRadius: '5px',
16+
padding: 0,
1617
selectors: {
1718
'&:hover, &:focus-visible': { cursor: 'pointer', background: vars.color.text1 },
1819
},

packages/ui/src/SingleImageUpload/SingleImageUpload.tsx

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -110,21 +110,21 @@ export const SingleImageUpload: React.FC<SingleImageUploadProps> = ({
110110
</Flex>
111111
</>
112112
)}
113-
114-
<input
115-
className={defaultUploadStyle}
116-
id={`${id}-file-upload`}
117-
data-testid="file-upload"
118-
name="file"
119-
type="file"
120-
ref={fileInputRef}
121-
multiple={false}
122-
onChange={(event) => {
123-
handleFileUpload(event.currentTarget.files)
124-
}}
125-
/>
126113
</Flex>
127114

115+
<input
116+
className={defaultUploadStyle}
117+
id={`${id}-file-upload`}
118+
data-testid="file-upload"
119+
name="file"
120+
type="file"
121+
ref={fileInputRef}
122+
multiple={false}
123+
onChange={(event) => {
124+
handleFileUpload(event.currentTarget.files)
125+
}}
126+
/>
127+
128128
{uploadArtworkError && (
129129
<Box data-testid="error-msg" p={'x4'} fontSize={12} className={uploadErrorBox}>
130130
<Box as={'ul'} m={'x0'}>

0 commit comments

Comments
 (0)