より現実的なHTML5+WAI-ARIA

過去二回の努力

自分が納得できるゴールは見つかっていないところに、プロジェクトは走りだす。このままじゃ泥船決定なので今まで以上にがんばる。
 

いきなり検証

E-riverstyle Vanguardさんのhttp://blog.e-riverstyle.com/2011/01/26/image/blog1101251.gifを念頭に始めます。

<body role="application">
<article role="document">
<header id="banner" role="banner">
ヘッダー
</header>
 
<nav id="globalnavi" role="navigation">
ぐろーばるなびげーしょん
</nav>
 
<section id="main" role="main">
<nav id="breadcrumbs" role="navigation">
パンくず
</nav>
メイン
</section>
 
<aside id="complementary" role="complementary">
サブメニュー
</aside>
 
<footer id="contentinfo" role="contentinfo">
フッター
</footer>

</article>
</body>

mainの所はsectionなのかdivなのか?ここにだけdivの登場はカッコ悪い感じがするのでsection採用!
idを使うのはCSSで使う予定のため。うーん完全なる入れ子構造になったら不要かもしれない。
 

bodyの他も考える

はじめてのHTML5 第1回『HTML5の基本の書き方を覚える』を参考にする

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>サイトのタイトル</title>
<link rel="stylesheet" type="text/css" href="css/html5reset.css"  />
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>

//ここにうえの奴をいれる

</body>
</html>

html5resetをみると長い期間をかけてバージョンアップしているっぽい。2011/02/08の時点では1.6.1(2010/9/17)が最新になる。
あとはUTF8を意識すること。>自分
 

スタイルシートの切り替え

SWITCH STYLESHEETS WITH JQUERYをつかう。使い方はスタイルシートを切り替えるjQueryプラグイン「Switch stylesheets with jQuery」を参考にする。
 
こんな感じのCSS構成にしてstyle.cssに全てに共通のcssを書く、それぞれ用のCSSを書く。desktopが規定値にする。

<link rel="stylesheet" href="common/css/style.css" type="text/css" media="screen" /> 
<link rel="stylesheet" href="common/css/style_desktop.css" title="style_desktop" type="text/css" media="screen" />
<link rel="alternate stylesheet" href="common/css/style_mobile.css" title="style_mobile" type="text/css" media="screen" />
<link rel="alternate stylesheet" href="common/css/style_print.css" title="style_print" type="text/css" media="screen" />

jQueryを使うので召喚魔法を書く

<!--Google AJAX Feed API  http://www.ajaxtower.jp/googleajaxfeed/ -->
<script type="text/javascript" src="http://www.google.com/jsapi?key=ABQIAAAA9BHquyX5cAMhD7r3X1Y9UxQ-q_YF59VMleFrVRQvt1o_ZrnckBSrz0Xw-wzDsGENBEKcT55BU5g2aA"></script>

<script type="text/javascript">google.load("jquery", "1.4.2");</script>  
<script type="text/javascript" src="common/js/styleswitch.js"></script>

切り替えはheaderのなかに書く

<div id="css_view">
<ul>
<li class="label">Views:</li>
<li><a href="#" rel="style_desktop" class="styleswitch" title="Desktop Style">desktop</a></li>
<li><a href="#" rel="style_mobile" class="styleswitch" title="Mobile Style">mobile</a></li>
<li><a href="#" rel="style_print" class="styleswitch" title="Mobile Print">print</a></li>
</ul>
</div>

 

がったい

すべてをまとめてみた。だらだらになってしまったが後悔していない

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>サイトのタイトル</title>

<!--りせっと-->
<link rel="stylesheet" type="text/css" href="css/html5reset.css"  />

<!--共通CSS-->
<link rel="stylesheet" href="common/css/style.css" type="text/css" media="screen" /> 
<!--個別CSS-->
<link rel="stylesheet" href="common/css/style_desktop.css" title="style_desktop" type="text/css" media="screen" />
<link rel="alternate stylesheet" href="common/css/style_mobile.css" title="style_mobile" type="text/css" media="screen" />
<link rel="alternate stylesheet" href="common/css/style_print.css" title="style_print" type="text/css" media="screen" />

<!--IE9未満対策-->
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

<!--Google AJAX Feed API  http://www.ajaxtower.jp/googleajaxfeed/ -->
<script type="text/javascript" src="http://www.google.com/jsapi?key=ABQIAAAA9BHquyX5cAMhD7r3X1Y9UxQ-q_YF59VMleFrVRQvt1o_ZrnckBSrz0Xw-wzDsGENBEKcT55BU5g2aA"></script>

<!--jquery召還魔法-->
<script type="text/javascript">google.load("jquery", "1.4.2");</script>  
<!--SWITCH STYLESHEETS WITH JQUERY召還-->
<script type="text/javascript" src="common/js/styleswitch.js"></script>



</head>
<body role="application">
<article role="document">
<header id="banner" role="banner">
ヘッダー

<!--スタイル切替-->
<div id="css_view">
<ul>
<li class="label">Views:</li>
<li><a href="#" rel="style_desktop" class="styleswitch" title="Desktop Style">desktop</a></li>
<li><a href="#" rel="style_mobile" class="styleswitch" title="Mobile Style">mobile</a></li>
<li><a href="#" rel="style_print" class="styleswitch" title="Mobile Print">print</a></li>
</ul>
</div>

</header>
 
<nav id="globalnavi" role="navigation">
ぐろーばるなびげーしょん
</nav>
 
<div id="container">
<section id="main" role="main">
<nav id="breadcrumbs" role="navigation">
パンくず
</nav>
メイン
</section>
</div> 

<aside id="complementary" role="complementary">
サブメニュー
</aside>
 
<footer id="contentinfo" role="contentinfo">
フッター
</footer>

</article>
</body>

</html>

リキッドレイアウトにしたいのでリキッドレイアウトの最大横幅を固定する-minmax.jsCSSを参考にする