Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

Change Proposal: Read-only styling for Switch, Checkbox, and Radio

未關閉
#331 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 2 天內回覆

還沒有人認領這個 Issue。

評估

難度
5/5
預估耗時
一週以上
新手友好度
35/100
Issue 類型
功能
描述清晰度
需要釐清
活躍度
活躍
技術堆疊
react, typescript

研究方向

Start by reviewing issue #272 and PR #328 to understand the existing read-only treatment for text-like controls, then locate the Switch, Checkbox, and Radio implementations. Done means the three controls support the proposed read-only interface, remain focusable and announced appropriately, prevent changes, and have an agreed visual treatment with coverage for these behaviors.

由索引模型根據 Issue 內容生成。

描述

needs-triage

What is being proposed?

A read-only variant for MuiSwitch, MuiCheckbox, and MuiRadio, distinct from disabled.

Why is this needed?

Follow-up from #272 / PR #328, which gave TextField/Select/Autocomplete a dedicated read-only look.

These three controls have no native readOnly support in MUI (unlike text-like inputs), and they currently have only disabled, which mutes the value and drops the control from the tab order even when the value itself still needs to be shown and announced, with no read-only treatment at all.

What will change?

  • Behaviour: enforce read-only via controlled checked + no-op onChange, since native readonly on checkbox/radio inputs doesn't block clicks
  • Accessibility: aria-readonly instead of aria-disabled, keeping the control focusable/announced
  • Visual: likely closer to full saturation than the muted --ds-surface-readonly wash used for text inputs, since the value is meaningful and being displayed, not unavailable

Interface changes (if any)

<Switch readOnly checked={value} />
<Checkbox readOnly checked={value} />
<Radio readOnly checked={value} />

Breaking change?

  • No

Next steps

A maintainer will review this issue.
If accepted, it will be marked as accepted and a PR may then be opened.

主要語言
TypeScript
星號
9
分支
3
平均合併
6 天 7 小時
30 天內合併 PR
20

環境準備

在 Codespaces 中開啟

在瀏覽器裡用你自己的 GitHub 帳號啟動這個專案的開發容器。

  • 沒有 Dockerfile 或 Docker Compose 檔案
  • 沒有 Pull Request 範本
  • 閱讀貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

DiamondLightSource/sci-react-ui 的其他 Issue

查看 DiamondLightSource/sci-react-ui 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。