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
ryokatsuse
April 19, 2026
Technology
240
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
510
アクセシビリティの自動テストはどのように行われているのか? axe-coreの処理を巡る旅
ryokatsuse
0
760
友達ではなく仲間とはなにか? 〜『映像研には手を出すな!』から学ぶ仕事の取り組み方〜
ryokatsuse
0
870
shadcn/uiで考えるコンポーネント設計
ryokatsuse
7
2.3k
ゆめみのアクセシビリティの現在地と今後
ryokatsuse
4
2.7k
Other Decks in Technology
See All in Technology
AI for Science時代を切り開く、政府の次世代HPC戦略の展望
gpuunite_official
0
250
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
77k
Kiro5兄弟のいまどきのセキュリティ基礎知識
kentapapa
0
260
あなたの知らないバージョン命名規則
sat
PRO
2
750
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3.2k
dbt in Microsoft Fabric
ryomaru0825
0
260
AWS Blocks が楽しい #ゆるWeb札幌
tacck
PRO
0
150
国家プロジェクトを支える「さくらONE」 大規模LLM開発におけるGPU障害を乗り越えるクラスター運用戦略
gpuunite_official
0
290
AI駆動開発を組織で促すために
lycorptech_jp
PRO
1
1.8k
RapidCopy2 Matrix I/Oエンジンによるファイルコピーソフトウェアの設計と実装
kengosawa2
1
410
tamachi.go 誕生の裏側
rymiyamoto
1
210
会計事務所と顧問先の契約関係をOIDC・OAuthで表現する
terara
0
340
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
620
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Building an army of robots
kneath
306
46k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
550
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
440
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Color Theory Basics | Prateek | Gurzu
gurzu
0
440
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