fix(react): address Doctor findings (#1143)

Accessibility/semantics pass aligned with React Doctor: role-based spans/divs become real buttons, role=status becomes <output>, modals use native <dialog>, author/peer flags render as <img>, and embed/challenge iframes are sandboxed. Includes review follow-ups: correct button chrome/centering/themed dialog colors and focus rings, the missing aria-label i18n keys (all languages), the Yandex image-search URL, clearer .bso setup steps, a keyboard-accessible image-search dropdown, and removal of the post-edit ('comment edited') display (mod edits unchanged).
This commit is contained in:
Tommaso Casaburi
2026-05-29 17:09:07 +07:00
committed by GitHub
parent ac95e58433
commit e082c7b428
132 changed files with 1753 additions and 1224 deletions
+6 -5
View File
@@ -63,7 +63,7 @@ const BoardRulesDisplay = ({ communityAddress, directories }: { communityAddress
) : rules && rules.length > 0 ? (
<ol>
{rules.map((rule: string, index: number) => (
<li key={index}>
<li key={`${index}-${rule}`}>
<Markdown content={rule} />
</li>
))}
@@ -117,9 +117,9 @@ const BoardSelector = ({
<div className={styles.boxContent}>
<div className={styles.selectorRow}>
<select value={selectedBoardValue} onChange={handleSelectChange} className={styles.boardSelect}>
<option value=''>Select board...</option>
{[...directories]
.sort((a, b) => getBoardShortCode(a.title).localeCompare(getBoardShortCode(b.title)))
<option value=''>Select board&hellip;</option>
{directories
.toSorted((a, b) => getBoardShortCode(a.title).localeCompare(getBoardShortCode(b.title)))
.map((sub) => {
const shortCode = getBoardShortCode(sub.title);
const boardName = getBoardName(sub.title);
@@ -134,13 +134,14 @@ const BoardSelector = ({
<form onSubmit={handleCustomSubmit} className={styles.customAddressForm}>
<input
type='text'
aria-label={lowerCase(t('enter_board_address'))}
placeholder={lowerCase(t('enter_board_address'))}
value={customAddress}
onChange={(e) => setCustomAddress(e.target.value)}
className={styles.addressInput}
/>
<button type='submit' className={styles.goButton}>
Go
Open Board
</button>
</form>
</div>