Submit Search
Upload
アクセシビリティオブジェクトについて
•
18 likes
•
4,286 views
takenspc
Follow
2014年7月13日のブラウザエンジン先端観測会での発表内容です。 http://atnd.org/events/52121
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 63
Download now
Download to read offline
Recommended
「マシンリーダビリティ」がユーザー体験を加速する
「マシンリーダビリティ」がユーザー体験を加速する
Yoshinori OHTA
アクセシビリティとこれからのWebデザイン
アクセシビリティとこれからのWebデザイン
力也 伊原
一般企業におけるWebアクセシビリティの進め方
一般企業におけるWebアクセシビリティの進め方
Web Accessibility Infrastructure Committee (WAIC)
Basic HTML Introduction
Basic HTML Introduction
Minoru Hayakawa
なぜ企業はWebアクセシビリティに取り組むのか?
なぜ企業はWebアクセシビリティに取り組むのか?
Web Accessibility Infrastructure Committee (WAIC)
第六回Jenkins勉強会
第六回Jenkins勉強会
Kohsuke Kawaguchi
Azure DevOps - ALGYAN Oct 2022.pdf
Azure DevOps - ALGYAN Oct 2022.pdf
YasuhiroHanda2
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
Recommended
「マシンリーダビリティ」がユーザー体験を加速する
「マシンリーダビリティ」がユーザー体験を加速する
Yoshinori OHTA
アクセシビリティとこれからのWebデザイン
アクセシビリティとこれからのWebデザイン
力也 伊原
一般企業におけるWebアクセシビリティの進め方
一般企業におけるWebアクセシビリティの進め方
Web Accessibility Infrastructure Committee (WAIC)
Basic HTML Introduction
Basic HTML Introduction
Minoru Hayakawa
なぜ企業はWebアクセシビリティに取り組むのか?
なぜ企業はWebアクセシビリティに取り組むのか?
Web Accessibility Infrastructure Committee (WAIC)
第六回Jenkins勉強会
第六回Jenkins勉強会
Kohsuke Kawaguchi
Azure DevOps - ALGYAN Oct 2022.pdf
Azure DevOps - ALGYAN Oct 2022.pdf
YasuhiroHanda2
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
ここ最近のJenkins新機能
ここ最近のJenkins新機能
Kohsuke Kawaguchi
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
ericsagnes
Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015
Kohsuke Kawaguchi
Moby Project (May 25, 2017, Tokyo)
Moby Project (May 25, 2017, Tokyo)
Akihiro Suda
月刊ライトニングトーク 2014/05 atom-shell を試してみた
月刊ライトニングトーク 2014/05 atom-shell を試してみた
Seiya Konno
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
Wataru NOGUCHI
Adobe XDプラグインをつくってみよう
Adobe XDプラグインをつくってみよう
Yoshiki Takeoka
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
Toru Yamaguchi
Hinemosで簡単にdev opsをサポート!
Hinemosで簡単にdev opsをサポート!
Hinemos
Aiming study#6pdf
Aiming study#6pdf
Koutaro Chikuba
Docker webinar 20170426−01
Docker webinar 20170426−01
Creationline,inc.
Dockerクイックツアー
Dockerクイックツアー
Etsuji Nakai
Docker活用ソリューション紹介
Docker活用ソリューション紹介
Mitsutoshi Kiuchi
Building document with the Sphinx public edtion
Building document with the Sphinx public edtion
Yukihiko SAWANOBORI
【BS7】GitHubをフル活用した開発
【BS7】GitHubをフル活用した開発
日本マイクロソフト株式会社
Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)
Kohsuke Kawaguchi
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
Yahoo!デベロッパーネットワーク
【HinemosWorld2015】B2-1_Hinemosで簡単にDevOpsをサポート!
【HinemosWorld2015】B2-1_Hinemosで簡単にDevOpsをサポート!
Hinemos
Hinemosで簡単にDevOpsをサポート!
Hinemosで簡単にDevOpsをサポート!
hinemos_atomitech
[Japan Tech summit 2017] CLD 006
[Japan Tech summit 2017] CLD 006
Microsoft Tech Summit 2017
More Related Content
Similar to アクセシビリティオブジェクトについて
ここ最近のJenkins新機能
ここ最近のJenkins新機能
Kohsuke Kawaguchi
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
ericsagnes
Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015
Kohsuke Kawaguchi
Moby Project (May 25, 2017, Tokyo)
Moby Project (May 25, 2017, Tokyo)
Akihiro Suda
月刊ライトニングトーク 2014/05 atom-shell を試してみた
月刊ライトニングトーク 2014/05 atom-shell を試してみた
Seiya Konno
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
Wataru NOGUCHI
Adobe XDプラグインをつくってみよう
Adobe XDプラグインをつくってみよう
Yoshiki Takeoka
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
Toru Yamaguchi
Hinemosで簡単にdev opsをサポート!
Hinemosで簡単にdev opsをサポート!
Hinemos
Aiming study#6pdf
Aiming study#6pdf
Koutaro Chikuba
Docker webinar 20170426−01
Docker webinar 20170426−01
Creationline,inc.
Dockerクイックツアー
Dockerクイックツアー
Etsuji Nakai
Docker活用ソリューション紹介
Docker活用ソリューション紹介
Mitsutoshi Kiuchi
Building document with the Sphinx public edtion
Building document with the Sphinx public edtion
Yukihiko SAWANOBORI
【BS7】GitHubをフル活用した開発
【BS7】GitHubをフル活用した開発
日本マイクロソフト株式会社
Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)
Kohsuke Kawaguchi
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
Yahoo!デベロッパーネットワーク
【HinemosWorld2015】B2-1_Hinemosで簡単にDevOpsをサポート!
【HinemosWorld2015】B2-1_Hinemosで簡単にDevOpsをサポート!
Hinemos
Hinemosで簡単にDevOpsをサポート!
Hinemosで簡単にDevOpsをサポート!
hinemos_atomitech
[Japan Tech summit 2017] CLD 006
[Japan Tech summit 2017] CLD 006
Microsoft Tech Summit 2017
Similar to アクセシビリティオブジェクトについて
(20)
ここ最近のJenkins新機能
ここ最近のJenkins新機能
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015
Moby Project (May 25, 2017, Tokyo)
Moby Project (May 25, 2017, Tokyo)
月刊ライトニングトーク 2014/05 atom-shell を試してみた
月刊ライトニングトーク 2014/05 atom-shell を試してみた
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
Adobe XDプラグインをつくってみよう
Adobe XDプラグインをつくってみよう
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
Hinemosで簡単にdev opsをサポート!
Hinemosで簡単にdev opsをサポート!
Aiming study#6pdf
Aiming study#6pdf
Docker webinar 20170426−01
Docker webinar 20170426−01
Dockerクイックツアー
Dockerクイックツアー
Docker活用ソリューション紹介
Docker活用ソリューション紹介
Building document with the Sphinx public edtion
Building document with the Sphinx public edtion
【BS7】GitHubをフル活用した開発
【BS7】GitHubをフル活用した開発
Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
【HinemosWorld2015】B2-1_Hinemosで簡単にDevOpsをサポート!
【HinemosWorld2015】B2-1_Hinemosで簡単にDevOpsをサポート!
Hinemosで簡単にDevOpsをサポート!
Hinemosで簡単にDevOpsをサポート!
[Japan Tech summit 2017] CLD 006
[Japan Tech summit 2017] CLD 006
アクセシビリティオブジェクトについて
1.
© GNOME Project,
@Takenspc 1 アクセシビリティオブジェクトについて 2014年7月13日 ブラウザエンジン先端観測会
2.
© GNOME Project,
@Takenspc 2 自己紹介 ● @Takenspc ● 他の発表者と違って一般人
3.
© GNOME Project,
@Takenspc 3 今回の内容 ● ブラウザーの「HTML5対応」をアクセシビリティAPI の側面から見る、ための基礎を押さえる
4.
© GNOME Project,
@Takenspc 4 目次 ● アクセシビリティオブジェクトとは何か ● アクセシビリティオブジェクトの作られ方 ● 「HTML5対応」とは何か
5.
© GNOME Project,
@Takenspc 5 アクセシビリティオブジェクトとは何か
6.
© GNOME Project,
@Takenspc 6 アクセシビリティとは何か ● Access + Ability:アクセスできる ● A11YやAXと略される ● Webだけの話ではない
7.
© GNOME Project,
@Takenspc 7 Webアクセシビリティ ● 誰でもWebにアクセスして使うことができる
8.
© GNOME Project,
@Takenspc 8 Webへのアクセス コンテンツ ブラウザー デバイス ユーザー
9.
© GNOME Project,
@Takenspc 9 Webへのアクセス コンテンツ ブラウザー デバイス ユーザー支援技術
10.
© GNOME Project,
@Takenspc 10 支援技術(Assistive Technology) ● U.S. National Multiple Sclerosis Society – 特定の機能を使いやすくしたり、(そのままでは行えな かった機能を)行えるようにするための、全ての道具、製 品、デバイス Pro HTML5 Accessibilityからの孫引き(翻訳は発表者)
11.
© GNOME Project,
@Takenspc 11 支援技術(Assistive Technology) ● 今回: – WebブラウザーとAPIを介して動作する、Webコンテンツ の特定の機能を使いやすくしたり、(そのままでは行えな かった機能を)行えるようにするための、全ての道具、製 品、デバイス WAI-ARIA 1.0における定義ともそんなにずれていないと思う。
12.
© GNOME Project,
@Takenspc 12 支援技術の例 Just Speak(音声によるAndroid端末の操作) TalkBack(スクリーン・リーダー)
13.
© GNOME Project,
@Takenspc 13 アクセシビリティAPI ● ブラウザーと支援技術が情報や操作のやりとりに使う API ● OS/プラットフォームレベルでのAPI コンテンツ ブラウザー デバイス ユーザー支援技術
14.
© GNOME Project,
@Takenspc 14 アクセシビリティAPIの種類 ● MSAA (Windows) – IAccessble2 ● UIA (Windows) ● ATK + AT-SPI (Linuxなど) ● OS X Accessibility Protocol (OS X)
15.
© GNOME Project,
@Takenspc 15 アクセシビリティAPIの特徴 ● アクセシビリティAPIの語彙、セマンティクスは HTMLとは異なる ● ブラウザーがコンテンツをアクセシビリティAPIのオ ブジェクト(アクセシビリティオブジェクト)に変換
16.
© GNOME Project,
@Takenspc 16 小まとめ ● ブラウザーと支援技術はアクセシビリティAPIを使っ て情報や操作をやりとり ● ブラウザーはコンテンツの情報を支援技術に伝える責 任 コンテンツ ブラウザー デバイス ユーザー支援技術
17.
© GNOME Project,
@Takenspc 17 アクセシビリティオブジェクトの作られ方
18.
© GNOME Project,
@Takenspc 18 アクセシビリティツリー Alex's blog: DOM Inspector as accessibility tool http://asurkov.blogspot.jp/2012/02/dom-inspector-as-accessibility-tool.html
19.
© GNOME Project,
@Takenspc 19 アクセシビリティオブジェクトの情報 ● 役割:種類 ● 状態:動的な属性 ● プロパティ:静的な属性 ● その他 – 位置と大きさ、文字の大きさ、色… Alex's blog: DOM Inspector for accessibility. New features. http://asurkov.blogspot.jp/2013/02/dom-inspector-for-accessibility-new.html
20.
© GNOME Project,
@Takenspc 20 アクセシビリティオブジェクトを作るには ● アクセシビリティオブジェクトを作るには – セマンティクスに関する情報 – レイアウトに関する情報 の両方が必要
21.
© GNOME Project,
@Takenspc 21 レンダリングエンジンの処理 How Browsers Work: Behind the scenes of modern web browsers - HTML5 Rocks http://www.html5rocks.com/en/tutorials/internals/howbrowserswork/
22.
© GNOME Project,
@Takenspc 22 レンダリングエンジンの処理 How Browsers Work: Behind the scenes of modern web browsers - HTML5 Rocks http://www.html5rocks.com/en/tutorials/internals/howbrowserswork/
23.
© GNOME Project,
@Takenspc 23 レンダリングエンジンの処理 Efficient CSS Animations [Slide 2 of 29: The Pipeline from Markup to Graphics] http://dbaron.org/talks/2014-06-04-cssday/slide-2.xhtml
24.
© GNOME Project,
@Takenspc 24 アクセシビリティオブジェクトを作るには ● アクセシビリティオブジェクトを作るには – セマンティクスに関する情報 – レイアウトに関する情報 の両方が必要 ● DOMツリーとレンダリングツリーの情報を組み合わ せて作る
25.
© GNOME Project,
@Takenspc 25 アクセシビリティオブジェクトの作られ方 変換 内部表現 ブラウザー 支援 技術 DOMツリー レンダリング ツリー アクセシビリティ ツリー アクセシビリティ ツリー 支援技術 プラットフォーム固有
26.
© GNOME Project,
@Takenspc 26 アクセシビリティオブジェクトの作られ方 変換 内部表現 ブラウザー 支援 技術 DOMツリー レンダリング ツリー アクセシビリティ ツリー アクセシビリティ ツリー 支援技術 プラットフォーム固有
27.
© GNOME Project,
@Takenspc 27 Gecko ● アクセシビリティオブジェクトへのアクセス発生 ● アクセシビリティオブジェクトの生成 – DOMツリーをイテレート ● アクセシビリティオブジェクトの生成
28.
© GNOME Project,
@Takenspc 28 DOMツリーをイテレート ● mozilla::a11y::TreeWalker void Accessible::CacheChildren() { (略) TreeWalker walker(this, mContent); Accessible* child = nullptr; while ((child = walker.NextChild()) && AppendChild(child)); }
29.
© GNOME Project,
@Takenspc 29 アクセシビリティオブジェクトの生成 ● TreeWalker::NextChildInternal – nsAccessibilityService::GetOrCreateAccessibleを呼び出 し (略) Accessible* accessible = mFlags & eWalkCache ? mDoc->GetAccessible(childNode) : GetAccService()->GetOrCreateAccessible(childNode, mContext, &isSubtreeHidden); (略)
30.
© GNOME Project,
@Takenspc 30 アクセシビリティオブジェクトの生成 ● nsAccessibilityService::GetOrCreateAccessible – 非表示だったらオブジェクトを作らない – テキストノードかどうかを見てオブジェクトを作る – WAI-ARIAの属性を見てオブジェクトを作る – 要素の型や属性を見てオブジェクトを作る – Frameの種類を見てオブジェクトを作る
31.
© GNOME Project,
@Takenspc 31 WebCore、Blink ● アクセシビリティオブジェクトへのアクセス発生 ● アクセシビリティオブジェクトの生成 – レンダーツリーをイテレート (canvas要素の子孫はDOMツリーをイテレート) ● アクセシビリティオブジェクトの生成
32.
© GNOME Project,
@Takenspc 32 アクセシビリティオブジェクトの生成 ● WebDocument::accessibilityObject Chromiumの例 WebAXObject WebDocument::accessibilityObject() const { const Document* document = constUnwrap<Document>(); return WebAXObject(document->axObjectCache()- >getOrCreate(document->renderView())); }
33.
© GNOME Project,
@Takenspc 33 アクセシビリティオブジェクトの生成 ● AXObjectCache::getOrCreate Blinkの例 AXObject* AXObjectCache::getOrCreate(RenderObject* renderer) { (略) RefPtr<AXObject> newObj = createFromRenderer(renderer); (略) return newObj.get(); }
34.
© GNOME Project,
@Takenspc 34 アクセシビリティオブジェクトの生成 ● AXObjectCache::createFromRenderer – ノードがWAI-ARIA/HTMLのリスト関連ならばリストのオブ ジェクトを作る – ノードがWAI-ARIAのgrid関連ならばgridのオブジェクトを作る – rendererのboxの種類をみてオブジェクトを作る ● 表、プログレスバー、メーター、スライダー – 通常のオブジェクトを作る
35.
© GNOME Project,
@Takenspc 35 アクセシビリティオブジェクトの「役割」 ● AXRenderObject::determineAccessibleRole – WAI-ARIAのrole属性値を見て判定する – ノードの種類やrendererのboxの種類を見て判定するコード が並ぶ
36.
© GNOME Project,
@Takenspc 36 子孫オブジェクトの生成 ● AXObject::children const AXObject::AccessibilityChildrenVector& AXObject::children() { updateChildrenIfNecessary(); return m_children; } void AXObject::updateChildrenIfNecessary() { if (!hasChildren()) addChildren(); }
37.
© GNOME Project,
@Takenspc 37 子孫オブジェクトの生成 ● AXRenderObject::addChildren void AXRenderObject::addChildren() { (略) for (RefPtr<AXObject> obj = firstChild(); obj; obj = obj->nextSibling()) addChild(obj.get()); (略) }
38.
© GNOME Project,
@Takenspc 38 子孫オブジェクトの生成 ● AXRenderObject::nextSibling – Case 1: node is a block and has an inline continuation. – Case 2: Anonymous block parent of the start of a continuation – Case 3: node has an actual next sibling – Case 4: node is an inline with a continuation. – Case 5: node has no next sibling, and its parent is an inline with a continuation. ● Case 5a: continuation is a block ● Case 5b: continuation is an inline 隣接RenderObjectを取りに行く
39.
© GNOME Project,
@Takenspc 39 小まとめ ● アクセシビリティオブジェクトを作るには – セマンティクスに関する情報 – レイアウトに関する情報 の両方が必要 ● DOMツリーとレンダーツリーの情報を組み合わせて 作る
40.
© GNOME Project,
@Takenspc 40 「HTML5対応」とは何か
41.
© GNOME Project,
@Takenspc 41 「HTML5対応」 ● 「HTML5対応」には様々な側面がある ● アクセシビリティAPIにおける対応も1つの側面
42.
© GNOME Project,
@Takenspc 42 「HTML5対応」していないブラウザー ● HTML5のセマンティクスをアクセシビリティオブ ジェクトにマッピングしない <div> <main> AXRole: AXGroup AXSubrole: なし アクセシビリティオブジェクトの例はOS X Accessibility Protocol HTML AXRole: AXGroup AXSubrole: なし アクセシビリティオブジェクト
43.
© GNOME Project,
@Takenspc 43 「HTML5対応」しているブラウザー ● HTML5のセマンティクスをアクセシビリティオブ ジェクトにマッピングする <div> <main> AXRole: AXGroup AXSubrole: AXLandmarkMain アクセシビリティオブジェクトの例はOS X Accessibility Protocol HTML AXRole: AXGroup AXSubrole: なし アクセシビリティオブジェクト
44.
© GNOME Project,
@Takenspc 44 HTML to Platform Accessibility APIs Implementation Guide HTML to Platform Accessibility APIs Implementation Guide http://www.w3.org/TR/html-aapi/
45.
© GNOME Project,
@Takenspc 45 HTML to Platform Accessibility APIs Implementation Guide HTML to Platform Accessibility APIs Implementation Guide http://www.w3.org/TR/html-aapi/
46.
© GNOME Project,
@Takenspc 46 実装状況 HTML5 accessibility - work in progress March 2014 http://html5accessibility.com/
47.
© GNOME Project,
@Takenspc 47 実装状況 aria-html mapping implementation status http://stevefaulkner.github.io/html-mapping-tests/
48.
© GNOME Project,
@Takenspc 48 アクセシビリティオブジェクトの調査 ● コンテンツからはアクセスできない ● ツールを使って調査可能
49.
© GNOME Project,
@Takenspc 49 調査ツール ● プラットフォームのアクセシビリティオブジェクト – inspect、accprobe、aViewer(Windows) – Accessibility Inspector(OS X) ● ブラウザーの内部的なアクセシビリティオブジェクト – DOM Inspector(Gecko) ● WebKit Accessibility Node Inspector(WebCore)
50.
© GNOME Project,
@Takenspc 50 ツールによる調査対象の違い 変換 内部表現 ブラウザー 支援 技術 DOMツリー レンダリング ツリー アクセシビリティ ツリー アクセシビリティ ツリー 支援技術 プラットフォーム固有
51.
© GNOME Project,
@Takenspc 51 aViewer Accessibility Viewer (aViewer) | The Paciello Group - Your Accessibility Partner http://www.paciellogroup.com/resources/aviewer
52.
© GNOME Project,
@Takenspc 52 DOM Inspector Alex's blog: DOM Inspector as accessibility tool http://asurkov.blogspot.jp/2012/02/dom-inspector-as-accessibility-tool.html
53.
© GNOME Project,
@Takenspc 53 期待と違う結果が得られる場合 ● そもそも対応していない場合 ● レンダーツリーが影響している場合 ● フラット化が影響している場合 レンダリングツリーの影響はAccessibility and the Power of CSS: Disparities between Ideals and Realityな どを参照
54.
© GNOME Project,
@Takenspc 54 フラット化 ● ブラウザーは重要と判断したノードに対してだけアク セシビリティオブジェクトを作る/支援技術に見せる ● 「重要」かどうかの判断はブラウザー依存 – 開発者やユーザーの期待と違う場合
55.
© GNOME Project,
@Takenspc 55 AXGroupdiv フラット化しない場合 div h1 Block Block Block AXGroup AXHeading DOMツリー レンダリングツリー アクセシビリティツリー
56.
© GNOME Project,
@Takenspc 56 フラット化する場合 div div h1 Block Block Block AXHeading DOMツリー レンダリングツリー アクセシビリティツリー
57.
© GNOME Project,
@Takenspc 57 HTML5では… div main h1 Block Block Block AXGroup AXHeading DOMツリー レンダリングツリー アクセシビリティツリー
58.
© GNOME Project,
@Takenspc 58 WebKitのバグ Block Block Block AXHeading DOMツリー レンダリングツリー アクセシビリティツリー div main h1
59.
© GNOME Project,
@Takenspc 59 WebKitのバグ ● AccessibilityRenderObject::computeAccessibilityI sIgnoredのHTML5への対応が甘い bool AccessibilityRenderObject::computeAccessibilityIsIgnored() const { (略) // By default, objects should be ignored so that the AX hierarchy is not // filled with unnecessary items. return true; }
60.
© GNOME Project,
@Takenspc 60 お前、文句言うだけかよ… ● ごめんなさいごめんなさい
61.
© GNOME Project,
@Takenspc 61 小まとめ ● ブラウザーにはHTML5のセマンティクスをアクセシ ビリティオブジェクトにマッピングする責任
62.
© GNOME Project,
@Takenspc 62 まとめ ● ブラウザーの「HTML5対応」にはアクセシビリティ APIの側面を含めて考える必要 ● ブラウザーにもバグはあるため、温かい目と温かいテ ストと温かいパッチがあるといいなあ
63.
© GNOME Project,
@Takenspc 63 ご清聴ありがとうございました!
Download now