diff --git a/src/4/1/2.md b/src/4/1/2.md
index c7413363..c265fe7e 100644
--- a/src/4/1/2.md
+++ b/src/4/1/2.md
@@ -1,69 +1,82 @@
---
layout: single
-title: HTMLの要素や属性を正しい役割で使用する
+title: カスタムコントロールの操作性を担保する
number: 4.1.2
level: A
tags: sc
permalink: "{{ number | scNumberToPath }}/"
---
-# 4.1.2 HTMLの要素や属性を正しい役割で使用する
+# 4.1.2 カスタムコントロールの操作性を担保する
{% include "partials/level.njk" %}
## 概要
-リンクやボタンなどユーザーが操作可能な項目を作成するときに、本来リンクやボタンに使わない要素や属性を使用して記述すると、ブラウザやスクリーンリーダーなどで正しく操作できなくなる可能性がある。そのため、ユーザーが操作可能な項目は、正しい要素や属性を用いて記述する。
+カスタムコントロールを実装する場合、支援技術などのユーザーエージェントがそのコンポーネントを正確に解釈して実行できるよう、`Accessible Name` と `role` を設定する。スクリーンリーダーなどの支援技術で動作確認をし、支援技術でも遜色なく機能を操作でき、状態の変化を認識できることを確認する。
+
+
+カスタムコントロールとは
+
+カスタムコントロールとは、その言語が提供していない「独自のユーザーインタフェースコンポーネント」のことを指す。例えばタブ、 `` を使わないチェックボックスなど。カスタムコントロールは、開発者が機能をスクリプトで実装する必要がある。
+
+Webでは[WAI-ARIA](https://www.w3.org/TR/wai-aria/)を用いて実装することが多い。
+
+
+
+Accessible Nameとは
+
+Accessible Nameとは、ユーザーインターフェイスの名前である。機械的に識別可能な名前であり、表示されるラベルテキストと一致することが多いが、代替テキストのように支援技術向けにのみ実装されていることもある。WCAGではnameと記載されているが、HTMLのname属性とは関係がなく、誤解を生みやすいため、[Accessible Name and Description Computation 1.1](https://www.w3.org/TR/accname-1.1/)で定義されている用語の名称で表記している。
+
+### 参考資料
+
+- [名前 (name) | 達成基準 4.1.2: 名前 (name)・役割 (role)・値 (value) を理解する](https://waic.jp/translations/WCAG21/Understanding/name-role-value.html#dfn-name)
+- [Accessible Name | Accessible Name and Description Computation 1.1](https://www.w3.org/TR/accname-1.1/#dfn-accessible-name)
+
+
+
+roleとは
+roleとは、ユーザーインターフェイスの機能を表すものである。たとえば画像やハイパーリンク、チェックボックス、ラジオボタンなど。
+
+### 参考資料
+
+- [役割 (role) | 達成基準 4.1.2: 名前 (name)・役割 (role)・値 (value) を理解する](https://waic.jp/translations/WCAG21/Understanding/name-role-value.html#dfn-role)
+
## 具体例
-### 見出しに見出しタグh1~h6要素を使っている
+### SegmentedControl
+
+Amebaでは[SegmentedControl](https://ameba-spindle.web.app/?path=/docs/segmentedcontrol)というカスタムコントロールのコンポーネントを利用している。これはページ内で機能やモードを切り替える際に用いる。基本的にはブラウザ標準のラジオボタンと同様の機能をもっており、単一の項目のみを選択できる。ブラウザ標準のラジオボタンとの違いはキー操作体系にある。上下左右キーでの**移動だけで**選択されるラジオボタンと違い、上下左右キーでの**移動に加え**Enter, Spaceキーを押下しないと選択されない。そのため、「キーボードフォーカス中ではあってもActiveではない」という、ラジオボタンとは異なる状態が存在する。以上の仕様を満たすため、カスタムコントロールとしての実装を選択しており、Acceessible Nameとroleの適切な設定が必要となる。
+
+デモページ:[SegmentedControl ⋅ Storybook](https://ameba-spindle.web.app/?path=/docs/segmentedcontrol)
-
## テスト・チェック方法
-1. コードレビュー
-
-## 実装方法
-
-### 悪い実装例
-
-ボタンの項目なのに、spanタグを使って実装している。
-
-```html
-登録する
-```
-
-### 良い実装例
-
-buttonタグを使って実装している。
-
-```html
-
-```
+### Web
+
+1. AccessibilityTree(ユーザー補助ツリー)のRole(役割)、Name欄に値が適切に反映されていることを確認する
+
+1. Lighthouseや[axe DevTools](https://chrome.google.com/webstore/detail/axe-devtools-web-accessib/lhdoppojpmngadmnindnejefpokejbdd)などのアクセシビリティ検証ツールで、不適切なAccessible Nameやrole、WAI-ARIA属性の付け方をしていないかを確認する
+1. スクリーンリーダーなどの支援技術を用いて操作し、クリックやタップでの操作時と遜色なく操作でき、Active状態・フォーカス状態が認識できることを確認する
## 参考文献
diff --git a/src/img/4/1/2/.DS_Store b/src/img/4/1/2/.DS_Store
new file mode 100644
index 00000000..5008ddfc
Binary files /dev/null and b/src/img/4/1/2/.DS_Store differ
diff --git a/src/img/4/1/2/4.1.2_ng_1.svg b/src/img/4/1/2/4.1.2_ng_1.svg
deleted file mode 100644
index d6c37d25..00000000
--- a/src/img/4/1/2/4.1.2_ng_1.svg
+++ /dev/null
@@ -1,205 +0,0 @@
-
-
\ No newline at end of file
diff --git a/src/img/4/1/2/4.1.2_ng_2.svg b/src/img/4/1/2/4.1.2_ng_2.svg
deleted file mode 100644
index c829080d..00000000
--- a/src/img/4/1/2/4.1.2_ng_2.svg
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
\ No newline at end of file
diff --git a/src/img/4/1/2/4.1.2_ok_1.svg b/src/img/4/1/2/4.1.2_ok_1.svg
deleted file mode 100644
index a85ebd9b..00000000
--- a/src/img/4/1/2/4.1.2_ok_1.svg
+++ /dev/null
@@ -1,75 +0,0 @@
-
-
\ No newline at end of file
diff --git a/src/img/4/1/2/4.1.2_ok_2.svg b/src/img/4/1/2/4.1.2_ok_2.svg
deleted file mode 100644
index 04ca7515..00000000
--- a/src/img/4/1/2/4.1.2_ok_2.svg
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
\ No newline at end of file
diff --git a/src/img/4/1/2/segmented_control.png b/src/img/4/1/2/segmented_control.png
new file mode 100644
index 00000000..5cc0dc1a
Binary files /dev/null and b/src/img/4/1/2/segmented_control.png differ
diff --git a/src/img/4/1/2/segmented_control_focused.png b/src/img/4/1/2/segmented_control_focused.png
new file mode 100644
index 00000000..7c23093f
Binary files /dev/null and b/src/img/4/1/2/segmented_control_focused.png differ
diff --git a/src/img/4/1/2/web_test1.png b/src/img/4/1/2/web_test1.png
new file mode 100644
index 00000000..9f7c3d4b
Binary files /dev/null and b/src/img/4/1/2/web_test1.png differ