Movatterモバイル変換


[0]ホーム

URL:


SwapSkills, profile picture
Uploaded bySwapSkills
PDF, PPTX1,812 views

HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressive enhancement

Embed presentation

Download as PDF, PPTX
HTML5を使うためのプログレッシブ・エンハンスメント       Swap Skills@アップルストア銀座                     2011年7月13日                      有限会社 futomi                代表取締役     羽田野 太巳                    http://www.html5.jp/                http://www.futomi.com/               http://twitter.com/futomi/
<ruby> 羽田野<rp>(</rp><rt>はたの</rt><rp>)</rp> 太巳<rp>(</rp><rt>ふとみ</rt><rp>)</rp></ruby>
http://www.futomi.com/
http://www.html5.jp/
HTML5 = Markup +   API
アジェンダ       ウェブとは     開発アプローチRegressive Enhancement  Graceful DegradationProgressive Enhancement         まとめ
ウェブとはhttp://www.flickr.com/photos/notionscapital/5045320233/
あらゆる対象に情報を伝える
ちらし
あらゆる対象に同じUX
あらゆる対象に同じUX   ≠ウェブ
クロスブラウザー対策あらゆる対象に   同じUXを提供する
クロスブラウザー対策あらゆる対象に   同じUXを提供する   確実に情報を伝える
本来のウェブとは• 非メディア依存 – ビジュアル・ブラウザー – 支援技術(Assistive Technology)   • スクリーンリーダーなど – 検索エンジンのロボット• リフローが前提 – スクリーン・サイズに応じて変形自在 – デメリットではなく、大きなメリット• マルチデバイス – PC、スマートフォン、テレビなど
同じUXは美徳? 違いは悪徳?
同じUXは美徳?  違いは悪徳?“私は、かしましい美徳よりは、        静かな悪徳を好む”           Albert Einstein
Progressive Enhancementそれは違いを受け入れること
開発アプローチhttp://www.flickr.com/photos/15216811@N06/5254696771/
さまざまな用語         Graceful      Degradation  Fallback  RegressiveEnhancement                                      Progressive             Unobtrusive              Enhancement               Scripting                           http://www.flickr.com/photos/horiavarlan/4273913228/
用語の整理開発アプローチ – Regressive Enhancement – Graceful Degradation – Progressive Enhancement手段 – Fallback特性表現 – Unobtrusive Scripting
Unobtrusive Scripting• JSは控えめにつつましく• JSが機能することを前提としない – JSをオフにしたUA – JSの実装が貧弱なUA                 http://clubt.jp/product/106622_4679549.html
良くない例1<a href="#
改良版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>
良くない例2  <ul>   <li>ニュース</li>   <li>天気予報</li>   <li>マネー</li>   ...  </ul>  li.onclick = function() {    // サブメニューを動的生成  };
改良版2 <ul>   ...  <li>マネー    <ul>      <li>株式</li>      <li>投資信託</li>    </ul>  </li>  ... </ul> li.onclick = function() {   // 表示・非表示の切り替え };
3つの開発アプローチ• 三者択一ではない 1. Regressive Enhancement 2. Graceful Degradation 3. Progressive Enhancement• いずれも目的は同じ – すべての対象に必要な情報を確実に提供• どこまで対応するか – 対象ユーザーとコストとの兼ね合い
アプローチの違い高            Regressive EnhancementUXのレベル低    低     UAの機能実装度               高
REGRESSIVEENHANCEMENT  http://www.amazon.co.jp/dp/4278049056/
Regressive Enhancement• 古いブラウザーには、  同等の機能を  あらゆる手段を使って  気合いでエミュレート• JSライブラリーが有効• 非常に高コストゆえに  自作は厳しい
VideoJShttp://videojs.com/
<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>
GRACEFUL DEGRADATION     http://www.flickr.com/photos/melkorcete/180238980/
Graceful Degradation• Fail Safe/Fault Tolerant  – 必要な機能がないUAを救済• デグレードして代替え機能を提供  – 少なくとも最低限の機能を提供  – HTMLのフォールバック機能が有効  – 手っ取り早いが、万能ではない
マークアップ<figure> <canvas>   <table><!-- グラフの元となる表 --></table> </canvas> <figcaption>会員数の推移</figcaption></figure>
結果         新しいUA        古いUAJS/ONJS/OFF
要素フォールバックのポイント• JavaScriptがOFFのUAに注意• 該当の要素をサポートしたUAでは、JSが  OFFの場合を救済できない場合がある• <canvas>, <video>, <audio>, etc
PROGRESSIVEENHANCEMENThttp://www.flickr.com/photos/melkorcete/180238980/
Progressive Enhancement• 必要最小限の機能を用意 – まずはマークアップから – あらゆるUAで利用可能• UAの能力に応じて機能を拡張 – CSSやJSによるUXをアドオン – 最新のUAなら最高のUXを                 http://www.31ice.co.jp/contents/product/sundae/su046.html
マークアップ<figure> <table><!-- グラフの元となる表 --></table> <figcaption>会員数の推移</figcaption></figure>
スクリプト// canvas要素のノード・オブジェクトvar canvas = document.createElement('canvas');// table要素のノード・オブジェクトvar tbl = document.getElementById('tbl');// table要素をcanvas要素に置き換えるtbl.parentNode.replaceChild(canvas, tbl);// グラフを描画...
結果         新しいUA        古いUAJS/ONJS/OFF
ファイルのアップロード必要なAPIが実装されていないブラウザーをサポート• ファイル選択コントロールによるファイル指定• 通常のフォーム・サブミットによるアップロード• ファイルアップロード中の進捗はわからない                    http://www.futomi.com/library/zip/index.html
ファイルのアップロードProgressive Enhancementを使うと• ドラッグ&ドロップによるファイル指定• XHR2 FormDataによるPOST• アップロード中の進捗表示                          http://www.futomi.com/library/zip/index.html
三層を完全に分離           JS          CSS        HTMLHTMLにCSSとJSをインラインで混在させない    HTMLだけでも最低限の機能を提供
開発の順序HTMLのみで必要最小限を CSSでビジュアルを追加   JSで操作性を追加
まとめ      http://www.morguefile.com/archive/display/693087
優先順位を間違えない• アクセシビリティーが最優先 – あらゆる対象に確実に情報を届ける – マークアップでできることを優先 – CSSやJSに頼らない• ユーザービリティーをアドオン –   CSSで見やすさをアドオン –   JSで使いやすさをアドオン –   最新UAでは最高のUX –   CSSとJSはUnobtrusive(控えめ)であるべき
“望んでいたものを手に入れたと        思い込んでいるときほど、        願望から遠く離れていることはない”                         ゲーテ「親和力」 Regressive Enhancementを求めるあまり、    大事なユーザーを逃していませんか?    “1オンスの思慮分別は、               1ポンドの英知に値する”                       イギリスのことわざ     ちょっとした工夫と配慮で、多くのユーザーに手をさしのべることができます。
参考図書                                         designing with DOM Scripting 第二版                       progressive enhancementhttp://www.amazon.co.jp/dp/1430233893/      http://www.amazon.co.jp/dp/0321658884/
ご清聴ありがとうございました              有限会社 futomi        代表取締役     羽田野 太巳            http://www.html5.jp/        http://www.futomi.com/       http://twitter.com/futomi/
主催:allWebクリエイター塾羽田野太巳から学ぶ「HTML5マークアップ講座」http://all-web.org/curriculums/html5/index.html羽田野太巳から学ぶ「0から学ぶ JavaScript 講座」http://all-web.org/curriculums/javascript/index.html

Recommended

PDF
JavaEE7徹底入門 プレゼンテーション層の開発 JSF
KEY
EC-CUBEプラグイン講義
PDF
⑯jQueryをおぼえよう!その2
PDF
SEOとJava Script。 〜文書構造とチームと、時々、闇〜
PDF
AngularJSでの非同期処理の話
PPTX
React を導入した フロントエンド開発
PDF
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
PPTX
今からでも遅くない! React事始め
PDF
2012年8月10日 勉強会
PPTX
BluemixでGWTアプリケーションを動かす
PDF
いまさら聞けない!?Backbone.js 超入門
PDF
RailsでReact.jsを動かしてみた話
PDF
Mojoliciousでつくる! Webアプリ入門
PDF
AngularJSの高速化
PDF
なぜ人は必死でjQueryを捨てようとしているのか
PDF
jQueryを中心としたJavaScript
PDF
BACKBONE.JSによるWebアプリケーション開発について
PPTX
3.Java EE7 徹底入門 CDI&EJB
PDF
HTML5 & The Web Platform
PDF
Web Platform -- Moving Forward!
PDF
iOS WebView App
PPTX
Angular js はまりどころ
PDF
Backbonejs @BuildInsiderOffline #1
PDF
テストゼロからイチに進むための戦略と戦術
PDF
【Camphor ×サイボウズ】selenium勉強会
PDF
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
PDF
Mojolicious+redisでチャットを作った
ODP
HTML5 開発環境の紹介
PPTX
Workshop1-01
PPTX
最近のHTML5はどうなってるのか

More Related Content

PDF
JavaEE7徹底入門 プレゼンテーション層の開発 JSF
KEY
EC-CUBEプラグイン講義
PDF
⑯jQueryをおぼえよう!その2
PDF
SEOとJava Script。 〜文書構造とチームと、時々、闇〜
PDF
AngularJSでの非同期処理の話
PPTX
React を導入した フロントエンド開発
PDF
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
PPTX
今からでも遅くない! React事始め
JavaEE7徹底入門 プレゼンテーション層の開発 JSF
EC-CUBEプラグイン講義
⑯jQueryをおぼえよう!その2
SEOとJava Script。 〜文書構造とチームと、時々、闇〜
AngularJSでの非同期処理の話
React を導入した フロントエンド開発
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
今からでも遅くない! React事始め

What's hot

PDF
2012年8月10日 勉強会
PPTX
BluemixでGWTアプリケーションを動かす
PDF
いまさら聞けない!?Backbone.js 超入門
PDF
RailsでReact.jsを動かしてみた話
PDF
Mojoliciousでつくる! Webアプリ入門
PDF
AngularJSの高速化
PDF
なぜ人は必死でjQueryを捨てようとしているのか
PDF
jQueryを中心としたJavaScript
PDF
BACKBONE.JSによるWebアプリケーション開発について
PPTX
3.Java EE7 徹底入門 CDI&EJB
PDF
HTML5 & The Web Platform
PDF
Web Platform -- Moving Forward!
PDF
iOS WebView App
PPTX
Angular js はまりどころ
PDF
Backbonejs @BuildInsiderOffline #1
PDF
テストゼロからイチに進むための戦略と戦術
PDF
【Camphor ×サイボウズ】selenium勉強会
PDF
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
PDF
Mojolicious+redisでチャットを作った
ODP
HTML5 開発環境の紹介
2012年8月10日 勉強会
BluemixでGWTアプリケーションを動かす
いまさら聞けない!?Backbone.js 超入門
RailsでReact.jsを動かしてみた話
Mojoliciousでつくる! Webアプリ入門
AngularJSの高速化
なぜ人は必死でjQueryを捨てようとしているのか
jQueryを中心としたJavaScript
BACKBONE.JSによるWebアプリケーション開発について
3.Java EE7 徹底入門 CDI&EJB
HTML5 & The Web Platform
Web Platform -- Moving Forward!
iOS WebView App
Angular js はまりどころ
Backbonejs @BuildInsiderOffline #1
テストゼロからイチに進むための戦略と戦術
【Camphor ×サイボウズ】selenium勉強会
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
Mojolicious+redisでチャットを作った
HTML5 開発環境の紹介

Viewers also liked

PPTX
Workshop1-01
PPTX
最近のHTML5はどうなってるのか
PDF
モバイルWebアプリのこれまでとこれから。Sencha Touch vs jQuery Mobile
PDF
最近のWeb関連技術の動向あれこれ
PDF
Sencha のフレームワーク Ext JS 5 について 15 分で説明するよ
PDF
今からハジメるHTML5プログラミング
PPTX
[社内勉強会]SPAのすすめ
PDF
HTML5ハイブリッドアプリ開発 で拓くビジネスチャンス
PDF
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
PPTX
HTML5ハイブリッドアプリ開発のベストプラクティス
PDF
50分で掴み取る ASP.NET Web API パターン&テクニック
PDF
Yeomanではじめる爆速webアプリ開発
PDF
次世代Web業務アプリケーション
PDF
一から作る業務システム vol.1
PDF
RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)
PDF
モバイルWebアプリのこれまでとこれから
PDF
ASP.NET シングル ページ アプリケーション (SPA) 詳説
PDF
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
PDF
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
PDF
はやわかりHTML5ハイブリッドアプリ開発事情
 
Workshop1-01
最近のHTML5はどうなってるのか
モバイルWebアプリのこれまでとこれから。Sencha Touch vs jQuery Mobile
最近のWeb関連技術の動向あれこれ
Sencha のフレームワーク Ext JS 5 について 15 分で説明するよ
今からハジメるHTML5プログラミング
[社内勉強会]SPAのすすめ
HTML5ハイブリッドアプリ開発 で拓くビジネスチャンス
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
HTML5ハイブリッドアプリ開発のベストプラクティス
50分で掴み取る ASP.NET Web API パターン&テクニック
Yeomanではじめる爆速webアプリ開発
次世代Web業務アプリケーション
一から作る業務システム vol.1
RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)
モバイルWebアプリのこれまでとこれから
ASP.NET シングル ページ アプリケーション (SPA) 詳説
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
はやわかりHTML5ハイブリッドアプリ開発事情
 

Similar to HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressive enhancement

PPT
Webdirection
PDF
Hijax - 少しずつAjaxへ
 
PPTX
HTML5 on ASP.NET
PDF
フロント作業の効率化
KEY
Webサイトのようには作れない!Webアプリ設計の考え方
KEY
今さら始めるJavaScript
PDF
「html5 boilerplate」から考える、これからのマークアップ
PDF
Webデザイン入門2-HTML5 フォーム,映像再生,音声再生, CSS3, レスポンシブWebデザイン-
DOCX
AITC 女子部 第一回 Web HTML5 補足資料v0.1
PDF
HTML5の前のJavaScript入門
ODP
Bpstudy26
PDF
Web制作者は変化についていけるか? 変化についていくべきか?
PDF
スマートフォンWebアプリ最適化”3つの極意”
PPTX
~初心者がこれから Web アプリの開発をするために~
PDF
Mu seminor2014 06
PDF
ゲームだけじゃないHTML5
PDF
Mvc conf session_5_isami
PDF
グリーにおけるスマホアプリ開発~HTML5編
PDF
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
PDF
第2回 FIC+FCS勉強会
Webdirection
Hijax - 少しずつAjaxへ
 
HTML5 on ASP.NET
フロント作業の効率化
Webサイトのようには作れない!Webアプリ設計の考え方
今さら始めるJavaScript
「html5 boilerplate」から考える、これからのマークアップ
Webデザイン入門2-HTML5 フォーム,映像再生,音声再生, CSS3, レスポンシブWebデザイン-
AITC 女子部 第一回 Web HTML5 補足資料v0.1
HTML5の前のJavaScript入門
Bpstudy26
Web制作者は変化についていけるか? 変化についていくべきか?
スマートフォンWebアプリ最適化”3つの極意”
~初心者がこれから Web アプリの開発をするために~
Mu seminor2014 06
ゲームだけじゃないHTML5
Mvc conf session_5_isami
グリーにおけるスマホアプリ開発~HTML5編
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
第2回 FIC+FCS勉強会

More from SwapSkills

PDF
セマンティック検索 20100731
PDF
Talk microdata
PDF
ゲーム作成で学ぶ iPhoneアプリケーション超入門
PDF
SwapSkillsFree|jQueryMobile [基礎編]
PDF
HTML5 & Web Platform
PDF
実践!スマートフォンサイト制作
PDF
スマートフォンサイトのトレンドとユーザビリティ
PDF
今からハジメるHTML5マークアップ
PDF
『XHTML+SVG+MathMLの技術を知る! 』 小山田 晃浩 
PPT
『はじめてのXSLT 』小林 信次
PDF
Swapskills Print Css
PDF
Swap Skills I Phone
セマンティック検索 20100731
Talk microdata
ゲーム作成で学ぶ iPhoneアプリケーション超入門
SwapSkillsFree|jQueryMobile [基礎編]
HTML5 & Web Platform
実践!スマートフォンサイト制作
スマートフォンサイトのトレンドとユーザビリティ
今からハジメるHTML5マークアップ
『XHTML+SVG+MathMLの技術を知る! 』 小山田 晃浩 
『はじめてのXSLT 』小林 信次
Swapskills Print Css
Swap Skills I Phone

HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressive enhancement


[8]ページ先頭

©2009-2025 Movatter.jp