Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ARIA Notifyについて
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
ryokatsuse
April 19, 2026
Technology
220
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ARIA Notifyについて
ryokatsuse
April 19, 2026
More Decks by ryokatsuse
See All by ryokatsuse
inferと仲良くなる10分間
ryokatsuse
1
450
アクセシビリティの自動テストはどのように行われているのか? axe-coreの処理を巡る旅
ryokatsuse
0
720
友達ではなく仲間とはなにか? 〜『映像研には手を出すな!』から学ぶ仕事の取り組み方〜
ryokatsuse
0
830
shadcn/uiで考えるコンポーネント設計
ryokatsuse
7
2.3k
ゆめみのアクセシビリティの現在地と今後
ryokatsuse
4
2.7k
Other Decks in Technology
See All in Technology
知らん間に、回ってる
ming_ayami
0
540
完全自律ロボットを作りたくて、先に開発を自律させた話(ROS Japan UG #63 LT)
rryz09
0
500
ポストモーテム! DDoSからサイトは守れた。 でもビジネスは守れなかった。
bengo4com
0
2.8k
ヘルスケア領域における AI 活用と その安全性担保のための取り組み (Leveraging AI in Healthcare and Our Efforts to Ensure Its Safety) - Google I/O Extended Tokyo 2026, July 11, 2026
zettaittenani
0
280
事業価値を⽣み出すSREへ SREが担うべき意思決定の5層
kenta_hi
2
3.6k
「ちゃんとやっている」は独りよがりだった ― 不安に寄り添うインシデント対応へ / Towards incident response that addresses anxieties
chmikata
1
5.1k
SRE本の知られざる名シーン / The Hidden Gems of Google SRE Book
nari_ex
1
380
【Claude Code】鹿野さんに聞く 私の推しの並行開発環境 大公開 / claude-code-parallel-2026-07-15
tonkotsuboy_com
11
7k
クラウド上のデータ復旧で見落としがちな制約: 医療系 SaaS の BCP 設計から得た教訓
kakehashi
PRO
0
3.4k
最近評価が難しくなった
maroon8021
0
340
Road to SRE NEXTの今までとこれから
hiroyaonoe
0
310
Zoom2Youtube.Claude
kawaguti
PRO
3
490
Featured
See All Featured
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.7k
Music & Morning Musume
bryan
47
7.3k
Crafting Experiences
bethany
1
210
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
410
sira's awesome portfolio website redesign presentation
elsirapls
0
300
It's Worth the Effort
3n
188
29k
Chasing Engaging Ingredients in Design
codingconduct
0
230
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
920
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
450
Ethics towards AI in product and experience design
skipperchong
2
330
Transcript
ARIA Notifyについて CA11Y #3 〜アクセシビリティのLTしようぜ〜 2026/04/20
ARIA live regions(ライブリージョン) 支援技術(スクリーンリーダーなど)に対して、視覚的な内容の変化をユーザーに通知できるもの。 以下の4つがあります。 aria-live aria-atomic aria-relevant aria-busy 目的
ユーザーにコンテンツの更新を通知できる。 WAI-ARIAライブリージョンの基礎
aria-liveの例 1 2 3 4 5 6 <!-- aria-live属性を持つ領域を用意 -->
<div id="notification" aria-live="polite" class="visually-hidden"> </div> // DOMの中身を変更すると、スクリーンリーダーが変更を読み上げる notification.textContent = "保存しました"; aria-live="polite" はユーザーが操作を終えたあとに通知する。 "assertive" は他の操作をしているときでも即座に割り込んで通知する。
チャット 田中 おはようございます 田中 今日のミーティングは何時? 自分 14時からです 田中 了解!ありがとう よろしくお願いし...
new 「14時からです」とメッセージを送信する 「よろしくお願いします」とチャット欄に入力 「了解!ありがとう」というメッセージが届く aria-liveが通知を受け取る(assertiveを設定) ユーザーが入力している時でもスクリーンリーダーが「了 解!ありがとう」と読み上げる
ARIA live regionsのつらみ HTMLで隠し要素のハックをしないと実現出来ない場合があってウザい😨 aria-live="assertive"を使いすぎるとユーザーが操作している最中に何度も割り込んでくる ことがあり疲弊😱 スクリーンリーダーによって挙動が異なることがあって発狂🤬🤬🤬🤬 詳しくは以下のコンテンツにまとまっています。 aria-live がうるさい
これらのつらみを解決するのがARIA Notify!
ARIA Notify 1 2 3 4 5 6 // 基本の使い方
document.ariaNotify("保存しました"); // 要素から呼ぶこともできる element.ariaNotify("3件のエラーがあります"); // 緊急の通知は high で割り込み element.ariaNotify("接続が切れました", { priority: "high" }); JavaScriptのAPIから好きなタイミングで読み上げしてほしい内容を支援技術に読ませるもの。 ライブリージョンとは異なりDOMに依存せずに使える。 Document から呼ぶと <html> の lang属性で読み上げ言語が決まる。 priority:normal は現在の読み上げの後、high は即座に割り込んで読み上げる。
メール作成 To:
[email protected]
件名: 来週のミーティングについて 田中さん お疲れ様です。 来週の定例ミーティングですが、 火曜日の14時に変更可能でしょうか。 ご確認よろしくお願いいたします。
| 送信する 送信中... ! 送信に失敗しました。接続を確認してください メールを作成して送信ボタンを押す 送信中ボタンに変わる 送信に失敗したトーストが表示される ariaNotifyを呼び出す 「送信に失敗しました。接続を確認してください」と読み 上げる
ARIA Notifyが使えそうなシーン ショッピングカートに商品が追加されたとき スライドのプレゼンテーションモードでページ送り リッチエディタなどで、Ctrl+Bを押下して文字がBoldになったことを通知 フォームの入力中のリアルタイムバリデーション 電車のリアルタイム運行で最寄り駅に電車が到着するときに通知 本当はこれを作ってデモしたかった!!
ARIA Notifyとライブリージョンの関係性 ARIA Notifyは、視覚的なライブリージョンが不要なシナリオでのライブリージョンを置き換えるもの。 隠し要素にライブリージョンを設定してアナウンスさせるようなハックを、ARIA Notifyで置き換え られる。 ライブリージョンそのものを廃止するわけではない。 ライブリージョンの通知は、ARIA Notifyの通知より常に優先される。
ARIA live regions ARIA Notify 視覚的な領域あり 画面にも更新が表示される 例: ・チャットの新着メッセージ ・検索結果の更新 ・株価や試合スコアの更新 視覚的な領域なし 通知のみを支援技術に届ける 例: ・操作の成否の通知 ・キーボード操作の確認 ・エラーやトースト通知 https://developer.mozilla.org/en-US/docs/Web/API/Document/ariaNotify https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/Accessibility/AriaNotify/explainer.md
ARIAの仕様としても史上初の命令的なAPI これまでのARIAはすべて宣言的だった。 HTMLにaria-checked="true" と書く。 JavaScriptでelement.ariaChecked = "true" と設定する。 どちらも「要素の状態を宣言的に記述する」もの ARIA
Notifyは命令的。 document.ariaNotify() とメソッドを呼ぶ。 「今この瞬間、これを読んで」と支援技術にお願いする。 今までは宣言的なものしかなくARIAMixinというスペックに定義されていた。 ARIA 1.3(Draft)ではARIANotifyMixinという新しいスペック定義が新設された。 https://w3c.github.io/aria/#ARIANotifyMixin
まとめ ライブリージョンはつらい ARIA Notifyは、支援技術に好きなタイミングで「これ読んで」と直接お願いできるAPI ARIA Notifyはライブリージョンを必ずしも置き換えるものではない ARIA Notifyは、ARIA仕様の中で史上初の命令的なAPI
ご清聴ありがとうございました! infixer Timee, Inc. X(Twitter) GitHub Cosense Bluesky