Enviar búsqueda
Cargar
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressive enhancement
•
13 recomendaciones
•
1,797 vistas
SwapSkills
Seguir
Denunciar
Compartir
Denunciar
Compartir
1 de 51
Descargar ahora
Descargar para leer sin conexión
Recomendados
JavaEE7徹底入門 プレゼンテーション層の開発 JSF
JavaEE7徹底入門 プレゼンテーション層の開発 JSF
Masuji Katoda
EC-CUBEプラグイン講義
EC-CUBEプラグイン講義
ria1201
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2
Nishida Kansuke
SEOとJava Script。 〜文書構造とチームと、時々、闇〜
SEOとJava Script。 〜文書構造とチームと、時々、闇〜
Yuki Minakawa
AngularJSでの非同期処理の話
AngularJSでの非同期処理の話
Yosuke Onoue
React を導入したフロントエンド開発
React を導入したフロントエンド開発
daisuke-a-matsui
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
賢 秋穂
今からでも遅くない! React事始め
今からでも遅くない! React事始め
ynaruta
Recomendados
JavaEE7徹底入門 プレゼンテーション層の開発 JSF
JavaEE7徹底入門 プレゼンテーション層の開発 JSF
Masuji Katoda
EC-CUBEプラグイン講義
EC-CUBEプラグイン講義
ria1201
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2
Nishida Kansuke
SEOとJava Script。 〜文書構造とチームと、時々、闇〜
SEOとJava Script。 〜文書構造とチームと、時々、闇〜
Yuki Minakawa
AngularJSでの非同期処理の話
AngularJSでの非同期処理の話
Yosuke Onoue
React を導入したフロントエンド開発
React を導入したフロントエンド開発
daisuke-a-matsui
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
賢 秋穂
今からでも遅くない! React事始め
今からでも遅くない! React事始め
ynaruta
2012年8月10日 勉強会
2012年8月10日 勉強会
Rin Yano
BluemixでGWTアプリケーションを動かす
BluemixでGWTアプリケーションを動かす
Shisei Hanai
いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門
Kohei Kadowaki
RailsでReact.jsを動かしてみた話
RailsでReact.jsを動かしてみた話
yoshioka_cb
Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門
Yusuke Wada
AngularJSの高速化
AngularJSの高速化
Kon Yuichi
なぜ人は必死でjQueryを捨てようとしているのか
なぜ人は必死でjQueryを捨てようとしているのか
Yoichi Toyota
jQueryを中心としたJavaScript
jQueryを中心としたJavaScript
hideaki honda
BACKBONE.JSによるWebアプリケーション開発について
BACKBONE.JSによるWebアプリケーション開発について
Toshio Ehara
3.Java EE7 徹底入門 CDI&EJB
3.Java EE7 徹底入門 CDI&EJB
Tsunenaga Hanyuda
HTML5 & The Web Platform
HTML5 & The Web Platform
Masataka Yakura
Web Platform -- Moving Forward!
Web Platform -- Moving Forward!
Masataka Yakura
iOS WebView App
iOS WebView App
hagino 3000
Angular js はまりどころ
Angular js はまりどころ
Ayumi Goto
Backbonejs @BuildInsiderOffline #1
Backbonejs @BuildInsiderOffline #1
daisuke shimizu
テストゼロからイチに進むための戦略と戦術
テストゼロからイチに進むための戦略と戦術
Y Watanabe
【Camphor ×サイボウズ】selenium勉強会
【Camphor ×サイボウズ】selenium勉強会
Yuki Okada
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
松田 千尋
Mojolicious+redisでチャットを作った
Mojolicious+redisでチャットを作った
Tetsuya Tatsumi
HTML5 開発環境の紹介
HTML5 開発環境の紹介
tomo_masakura
Workshop1-01
Workshop1-01
mashimonator
最近のHTML5はどうなってるのか
最近のHTML5はどうなってるのか
Shumpei Shiraishi
Más contenido relacionado
La actualidad más candente
2012年8月10日 勉強会
2012年8月10日 勉強会
Rin Yano
BluemixでGWTアプリケーションを動かす
BluemixでGWTアプリケーションを動かす
Shisei Hanai
いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門
Kohei Kadowaki
RailsでReact.jsを動かしてみた話
RailsでReact.jsを動かしてみた話
yoshioka_cb
Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門
Yusuke Wada
AngularJSの高速化
AngularJSの高速化
Kon Yuichi
なぜ人は必死でjQueryを捨てようとしているのか
なぜ人は必死でjQueryを捨てようとしているのか
Yoichi Toyota
jQueryを中心としたJavaScript
jQueryを中心としたJavaScript
hideaki honda
BACKBONE.JSによるWebアプリケーション開発について
BACKBONE.JSによるWebアプリケーション開発について
Toshio Ehara
3.Java EE7 徹底入門 CDI&EJB
3.Java EE7 徹底入門 CDI&EJB
Tsunenaga Hanyuda
HTML5 & The Web Platform
HTML5 & The Web Platform
Masataka Yakura
Web Platform -- Moving Forward!
Web Platform -- Moving Forward!
Masataka Yakura
iOS WebView App
iOS WebView App
hagino 3000
Angular js はまりどころ
Angular js はまりどころ
Ayumi Goto
Backbonejs @BuildInsiderOffline #1
Backbonejs @BuildInsiderOffline #1
daisuke shimizu
テストゼロからイチに進むための戦略と戦術
テストゼロからイチに進むための戦略と戦術
Y Watanabe
【Camphor ×サイボウズ】selenium勉強会
【Camphor ×サイボウズ】selenium勉強会
Yuki Okada
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
松田 千尋
Mojolicious+redisでチャットを作った
Mojolicious+redisでチャットを作った
Tetsuya Tatsumi
HTML5 開発環境の紹介
HTML5 開発環境の紹介
tomo_masakura
La actualidad más candente
(20)
2012年8月10日 勉強会
2012年8月10日 勉強会
BluemixでGWTアプリケーションを動かす
BluemixでGWTアプリケーションを動かす
いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門
RailsでReact.jsを動かしてみた話
RailsでReact.jsを動かしてみた話
Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門
AngularJSの高速化
AngularJSの高速化
なぜ人は必死でjQueryを捨てようとしているのか
なぜ人は必死でjQueryを捨てようとしているのか
jQueryを中心としたJavaScript
jQueryを中心としたJavaScript
BACKBONE.JSによるWebアプリケーション開発について
BACKBONE.JSによるWebアプリケーション開発について
3.Java EE7 徹底入門 CDI&EJB
3.Java EE7 徹底入門 CDI&EJB
HTML5 & The Web Platform
HTML5 & The Web Platform
Web Platform -- Moving Forward!
Web Platform -- Moving Forward!
iOS WebView App
iOS WebView App
Angular js はまりどころ
Angular js はまりどころ
Backbonejs @BuildInsiderOffline #1
Backbonejs @BuildInsiderOffline #1
テストゼロからイチに進むための戦略と戦術
テストゼロからイチに進むための戦略と戦術
【Camphor ×サイボウズ】selenium勉強会
【Camphor ×サイボウズ】selenium勉強会
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
Mojolicious+redisでチャットを作った
Mojolicious+redisでチャットを作った
HTML5 開発環境の紹介
HTML5 開発環境の紹介
Destacado
Workshop1-01
Workshop1-01
mashimonator
最近のHTML5はどうなってるのか
最近のHTML5はどうなってるのか
Shumpei Shiraishi
モバイルWebアプリのこれまでとこれから。Sencha Touch vs jQuery Mobile
モバイルWebアプリのこれまでとこれから。Sencha Touch vs jQuery Mobile
dsuke Takaoka
最近のWeb関連技術の動向あれこれ
最近のWeb関連技術の動向あれこれ
dsuke Takaoka
Sencha のフレームワーク Ext JS 5 について 15 分で説明するよ
Sencha のフレームワーク Ext JS 5 について 15 分で説明するよ
久司 中村
今からハジメるHTML5プログラミング
今からハジメるHTML5プログラミング
SwapSkills
[社内勉強会]SPAのすすめ
[社内勉強会]SPAのすすめ
hirooooo
HTML5ハイブリッドアプリ開発で拓くビジネスチャンス
HTML5ハイブリッドアプリ開発で拓くビジネスチャンス
アシアル株式会社
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
Osamu Shimoda
HTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティス
アシアル株式会社
50分で掴み取る ASP.NET Web API パターン&テクニック
50分で掴み取る ASP.NET Web API パターン&テクニック
miso- soup3
Yeomanではじめる爆速webアプリ開発
Yeomanではじめる爆速webアプリ開発
Masakazu Muraoka
次世代Web業務アプリケーション
次世代Web業務アプリケーション
Fumio SAGAWA
一から作る業務システム vol.1
一から作る業務システム vol.1
Mitsuaki Kida
RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)
RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)
K Tsukada
モバイルWebアプリのこれまでとこれから
モバイルWebアプリのこれまでとこれから
dsuke Takaoka
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説
Akira Inoue
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
Osamu Shimoda
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
Fumio SAGAWA
はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情
Monaca
Destacado
(20)
Workshop1-01
Workshop1-01
最近のHTML5はどうなってるのか
最近のHTML5はどうなってるのか
モバイルWebアプリのこれまでとこれから。Sencha Touch vs jQuery Mobile
モバイルWebアプリのこれまでとこれから。Sencha Touch vs jQuery Mobile
最近のWeb関連技術の動向あれこれ
最近のWeb関連技術の動向あれこれ
Sencha のフレームワーク Ext JS 5 について 15 分で説明するよ
Sencha のフレームワーク Ext JS 5 について 15 分で説明するよ
今からハジメるHTML5プログラミング
今からハジメるHTML5プログラミング
[社内勉強会]SPAのすすめ
[社内勉強会]SPAのすすめ
HTML5ハイブリッドアプリ開発で拓くビジネスチャンス
HTML5ハイブリッドアプリ開発で拓くビジネスチャンス
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
HTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティス
50分で掴み取る ASP.NET Web API パターン&テクニック
50分で掴み取る ASP.NET Web API パターン&テクニック
Yeomanではじめる爆速webアプリ開発
Yeomanではじめる爆速webアプリ開発
次世代Web業務アプリケーション
次世代Web業務アプリケーション
一から作る業務システム vol.1
一から作る業務システム vol.1
RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)
RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)
モバイルWebアプリのこれまでとこれから
モバイルWebアプリのこれまでとこれから
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情
Similar a HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressive enhancement
jQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & Tips
yoshikawa_t
Struts2を始めよう!
Struts2を始めよう!
Shinpei Ohtani
Webteko 20090925
Webteko 20090925
だいすけ ふるかわ
JS非同期処理のいま
JS非同期処理のいま
Masakazu Muraoka
HTML5最新動向
HTML5最新動向
Shumpei Shiraishi
Jqm20120210
Jqm20120210
cmtomoda
レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】
Yasuhito Yabe
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
Yasuhito Yabe
Brush up your Coding!
Brush up your Coding!
Shogo Sensui
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnit
Atsuhiro Kubo
ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
Yahoo!デベロッパーネットワーク
Ec cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナー
Ayumu Kawaguchi
Progressive Enhancement - クロスブラウザー対応に必要なこと - Microsoft IE10 移行セミナー
Progressive Enhancement - クロスブラウザー対応に必要なこと - Microsoft IE10 移行セミナー
Futomi Hatano
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
Hiroaki KOBAYASHI
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
Tetsuji Hayashi
Visualforce + jQuery
Visualforce + jQuery
Salesforce Developers Japan
Chrome DevTools.next
Chrome DevTools.next
yoshikawa_t
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
ThinReports
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
Masanori Oobayashi
Ruby on Rails Tutorial Chapter8-10
Ruby on Rails Tutorial Chapter8-10
Sea Mountain
Similar a HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressive enhancement
(20)
jQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & Tips
Struts2を始めよう!
Struts2を始めよう!
Webteko 20090925
Webteko 20090925
JS非同期処理のいま
JS非同期処理のいま
HTML5最新動向
HTML5最新動向
Jqm20120210
Jqm20120210
レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
Brush up your Coding!
Brush up your Coding!
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnit
ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
Ec cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナー
Progressive Enhancement - クロスブラウザー対応に必要なこと - Microsoft IE10 移行セミナー
Progressive Enhancement - クロスブラウザー対応に必要なこと - Microsoft IE10 移行セミナー
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
Visualforce + jQuery
Visualforce + jQuery
Chrome DevTools.next
Chrome DevTools.next
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
Ruby on Rails Tutorial Chapter8-10
Ruby on Rails Tutorial Chapter8-10
Más de SwapSkills
セマンティック検索 20100731
セマンティック検索 20100731
SwapSkills
Talk microdata
Talk microdata
SwapSkills
ゲーム作成で学ぶ iPhoneアプリケーション超入門
ゲーム作成で学ぶ iPhoneアプリケーション超入門
SwapSkills
SwapSkillsFree|jQueryMobile [基礎編]
SwapSkillsFree|jQueryMobile [基礎編]
SwapSkills
HTML5 & Web Platform
HTML5 & Web Platform
SwapSkills
実践!スマートフォンサイト制作
実践!スマートフォンサイト制作
SwapSkills
スマートフォンサイトのトレンドとユーザビリティ
スマートフォンサイトのトレンドとユーザビリティ
SwapSkills
今からハジメるHTML5マークアップ
今からハジメるHTML5マークアップ
SwapSkills
『XHTML+SVG+MathMLの技術を知る! 』 小山田 晃浩
『XHTML+SVG+MathMLの技術を知る! 』 小山田 晃浩
SwapSkills
『はじめてのXSLT 』小林 信次
『はじめてのXSLT 』小林 信次
SwapSkills
Swapskills Print Css
Swapskills Print Css
SwapSkills
Swap Skills I Phone
Swap Skills I Phone
SwapSkills
Más de SwapSkills
(12)
セマンティック検索 20100731
セマンティック検索 20100731
Talk microdata
Talk microdata
ゲーム作成で学ぶ iPhoneアプリケーション超入門
ゲーム作成で学ぶ iPhoneアプリケーション超入門
SwapSkillsFree|jQueryMobile [基礎編]
SwapSkillsFree|jQueryMobile [基礎編]
HTML5 & Web Platform
HTML5 & Web Platform
実践!スマートフォンサイト制作
実践!スマートフォンサイト制作
スマートフォンサイトのトレンドとユーザビリティ
スマートフォンサイトのトレンドとユーザビリティ
今からハジメるHTML5マークアップ
今からハジメるHTML5マークアップ
『XHTML+SVG+MathMLの技術を知る! 』 小山田 晃浩
『XHTML+SVG+MathMLの技術を知る! 』 小山田 晃浩
『はじめてのXSLT 』小林 信次
『はじめてのXSLT 』小林 信次
Swapskills Print Css
Swapskills Print Css
Swap Skills I Phone
Swap Skills I Phone
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressive enhancement
1.
HTML5を使うための プログレッシブ・エンハンスメント
Swap Skills@アップルストア銀座 2011年7月13日 有限会社 futomi 代表取締役 羽田野 太巳 http://www.html5.jp/ http://www.futomi.com/ http://twitter.com/futomi/
2.
<ruby> 羽田野<rp>(</rp><rt>はたの</rt><rp>)</rp> 太巳<rp>(</rp><rt>ふとみ</rt><rp>)</rp> </ruby>
3.
http://www.futomi.com/
4.
http://www.html5.jp/
5.
HTML5 = Markup
+ API
6.
アジェンダ
ウェブとは 開発アプローチ Regressive Enhancement Graceful Degradation Progressive Enhancement まとめ
7.
ウェブとは http://www.flickr.com/photos/notionscapital/5045320233/
8.
あらゆる対象に 情報を伝える
9.
ちらし
10.
あらゆる対象に同じUX
11.
あらゆる対象に同じUX
≠ウェブ
12.
クロスブラウザー対策 あらゆる対象に
同じUXを提供する
13.
クロスブラウザー対策 あらゆる対象に
同じUXを提供する 確実に情報を伝える
14.
本来のウェブとは • 非メディア依存 –
ビジュアル・ブラウザー – 支援技術(Assistive Technology) • スクリーンリーダーなど – 検索エンジンのロボット • リフローが前提 – スクリーン・サイズに応じて変形自在 – デメリットではなく、大きなメリット • マルチデバイス – PC、スマートフォン、テレビなど
15.
同じUXは美徳? 違いは悪徳?
16.
同じUXは美徳? 違いは悪徳? “私は、かしましい美徳よりは、
静かな悪徳を好む” Albert Einstein
17.
Progressive Enhancement それは違いを受け入れること
18.
開発アプローチ http://www.flickr.com/photos/15216811@N06/5254696771/
19.
さまざまな用語
Graceful Degradation Fallback Regressive Enhancement Progressive Unobtrusive Enhancement Scripting http://www.flickr.com/photos/horiavarlan/4273913228/
20.
用語の整理 開発アプローチ – Regressive
Enhancement – Graceful Degradation – Progressive Enhancement 手段 – Fallback 特性表現 – Unobtrusive Scripting
21.
Unobtrusive Scripting • JSは控えめにつつましく •
JSが機能することを前提としない – JSをオフにしたUA – JSの実装が貧弱なUA http://clubt.jp/product/106622_4679549.html
22.
良くない例1 <a href="javascript:window.history.back()">
前項へ戻る</a>
23.
改良版1 <a href="/index.html" id="bk">トップへ</a> <script> (function
() { if( ! window.addEventListener ) { return; } var bk = document.getElementById('bk'); bk.innerHTML = '前項へ戻る'; bk.addEventListener('click', function(e) { e.preventDefault(); window.history.back(); }, false); })(); </script>
24.
良くない例2 <ul>
<li>ニュース</li> <li>天気予報</li> <li>マネー</li> ... </ul> li.onclick = function() { // サブメニューを動的生成 };
25.
改良版2 <ul>
... <li>マネー <ul> <li>株式</li> <li>投資信託</li> </ul> </li> ... </ul> li.onclick = function() { // 表示・非表示の切り替え };
26.
3つの開発アプローチ • 三者択一ではない 1.
Regressive Enhancement 2. Graceful Degradation 3. Progressive Enhancement • いずれも目的は同じ – すべての対象に必要な情報を確実に提供 • どこまで対応するか – 対象ユーザーとコストとの兼ね合い
27.
アプローチの違い 高
Regressive Enhancement U X の レ ベ ル 低 低 UAの機能実装度 高
28.
REGRESSIVE ENHANCEMENT http://www.amazon.co.jp/dp/4278049056/
29.
Regressive Enhancement • 古いブラウザーには、
同等の機能を あらゆる手段を使って 気合いでエミュレート • JSライブラリーが有効 • 非常に高コストゆえに 自作は厳しい
30.
VideoJS http://videojs.com/
31.
<link rel="stylesheet" href="video-js.css"> <script
src="video.js"></script> 第1段階 <script> 気合い注入 VideoJS.setupAllWhenReady(); </script> <div class="video-js-box"> <video controls> <source src="v.mp4" type="video/mp4"> 第2段階 <source src="v.webm" type="video/webm"> 第3段階 <object data="....swf"> 第4段階 ... 気合い注入 <p><a href="v.mp4">ダウンロード</a></p> 第5段階 </object> Graceful Degradation </video> </div>
32.
GRACEFUL DEGRADATION
http://www.flickr.com/photos/melkorcete/180238980/
33.
Graceful Degradation • Fail
Safe/Fault Tolerant – 必要な機能がないUAを救済 • デグレードして代替え機能を提供 – 少なくとも最低限の機能を提供 – HTMLのフォールバック機能が有効 – 手っ取り早いが、万能ではない
34.
マークアップ <figure> <canvas>
<table><!-- グラフの元となる表 --></table> </canvas> <figcaption>会員数の推移</figcaption> </figure>
35.
結果
新しいUA 古いUA JS/ON JS/OFF
36.
要素フォールバックのポイント • JavaScriptがOFFのUAに注意 • 該当の要素をサポートしたUAでは、JSが
OFFの場合を救済できない場合がある • <canvas>, <video>, <audio>, etc
37.
PROGRESSIVE ENHANCEMENT http://www.flickr.com/photos/melkorcete/180238980/
38.
Progressive Enhancement • 必要最小限の機能を用意
– まずはマークアップから – あらゆるUAで利用可能 • UAの能力に応じて機能を拡張 – CSSやJSによるUXをアドオン – 最新のUAなら最高のUXを http://www.31ice.co.jp/contents/product/sundae/su046.html
39.
マークアップ <figure> <table><!-- グラフの元となる表
--></table> <figcaption>会員数の推移</figcaption> </figure>
40.
スクリプト // canvas要素のノード・オブジェクト var canvas
= document.createElement('canvas'); // table要素のノード・オブジェクト var tbl = document.getElementById('tbl'); // table要素をcanvas要素に置き換える tbl.parentNode.replaceChild(canvas, tbl); // グラフを描画 ...
41.
結果
新しいUA 古いUA JS/ON JS/OFF
42.
ファイルのアップロード 必要なAPIが実装されていないブラウザーをサポート • ファイル選択コントロールによるファイル指定 • 通常のフォーム・サブミットによるアップロード •
ファイルアップロード中の進捗はわからない http://www.futomi.com/library/zip/index.html
43.
ファイルのアップロード Progressive Enhancementを使うと • ドラッグ&ドロップによるファイル指定 •
XHR2 FormDataによるPOST • アップロード中の進捗表示 http://www.futomi.com/library/zip/index.html
44.
三層を完全に分離
JS CSS HTML HTMLにCSSとJSをインラインで混在させない HTMLだけでも最低限の機能を提供
45.
開発の順序 HTMLのみで必要最小限を CSSでビジュアルを追加
JSで操作性を追加
46.
まとめ
http://www.morguefile.com/archive/display/693087
47.
優先順位を間違えない • アクセシビリティーが最優先 –
あらゆる対象に確実に情報を届ける – マークアップでできることを優先 – CSSやJSに頼らない • ユーザービリティーをアドオン – CSSで見やすさをアドオン – JSで使いやすさをアドオン – 最新UAでは最高のUX – CSSとJSはUnobtrusive(控えめ)であるべき
48.
“望んでいたものを手に入れたと
思い込んでいるときほど、 願望から遠く離れていることはない” ゲーテ「親和力」 Regressive Enhancementを求めるあまり、 大事なユーザーを逃していませんか? “1オンスの思慮分別は、 1ポンドの英知に値する” イギリスのことわざ ちょっとした工夫と配慮で、 多くのユーザーに手をさしのべることができます。
49.
参考図書
designing with DOM Scripting 第二版 progressive enhancement http://www.amazon.co.jp/dp/1430233893/ http://www.amazon.co.jp/dp/0321658884/
50.
ご清聴ありがとうございました
有限会社 futomi 代表取締役 羽田野 太巳 http://www.html5.jp/ http://www.futomi.com/ http://twitter.com/futomi/
51.
主催:allWebクリエイター塾 羽田野太巳から学ぶ 「HTML5マークアップ講座」 http://all-web.org/curriculums/html5/index.html 羽田野太巳から学ぶ 「0から学ぶ JavaScript 講座」 http://all-web.org/curriculums/javascript/index.html
Descargar ahora