スムーズな開発につなげるHTMLコーディング
- デザイン
- 開発
WEBSASではデザイン制作、システム開発と一貫したサービスを提供しています。
デザイン担当はHTMLに動きをつけたところで開発担当にバトンタッチ。HTMLにシステムを組み込んでいく作業がはじまります。
しかし……
開発者
デザイナーから納品されたHTMLを元にシステム開発を始めたけれど、途中でレイアウトが崩れてしまう
リリースされたサイトを見たらデザインと全然ちがう。HTMLもぐちゃぐちゃだ……
デザイナー
システム開発中にデザインの不具合があれば開発が止まってしまいます。
デザインのクオリティが下がることも……
スムーズな開発を実現するためにはどんな準備が必要なのでしょう。
今回はデザイン担当の視点から「開発しやすいHTML」「適切なフォームパーツ」「デザインのチートシート」について解説します。
開発しやすいHTMLとは?
HTMLコーディングの段階で次のフェーズを意識しなければならない理由。
それはシステム開発担当者もHTMLを編集する必要があるからです。
HTMLがコーディング時と同じ形でリリースされることはほとんどありません。開発途中で新たに要望をいただくなど、開発途中で変更発生するのが常です。デザイン担当者抜きで一からページを作成することも。
文言を変更しただけでレイアウトが崩れるHTMLなど言語道断。
デザイン担当は「コピー・アンド・ペーストで、積み木を積み上げるようにページが制作できる」環境を作る必要があります。
bootstrapなどCSSフレームワークが必要とされる理由も同様です。
コンポーネント化で簡単開発
それでは積み木を作る際に留意すべき点は何でしょうか?
それは積み木の定義を明確にし、取り扱いを簡単にすることです。
積み木は「コンポーネント=機能をもった部品」と言い換えることができます。
ページはコンポーネントの組み合わせでできています。
たとえば
- 記事ページ=「見出し」+「説明文」+「画像」
- お問い合わせページ=「見出し」+「入力エリア」+「送信ボタン」
この場合「」がコンポーネントに当たります。
コンポーネントの輪郭は明確に
わかりにくいコンポーネントはレイアウト崩れの原因になります。
不要箇所までコピーした | → | ↓ | 余分に繰り返し処理され構造が複雑に |
---|---|---|---|
親要素が足りなかった | → | ↓ | レイアウト崩れ発生 |
特定の条件でのみ利用可 | → | ↓ | ページごとにばらばらのデザインに |
など
いずれのページで使用されるコンポーネントは同一、かつ明瞭なHTMLであることが重要です。
これによりコンポーネント使い回しができ、壊れないページができあがります。
注意
- コンポーネントの定義を明確にする
- コンポーネントのHTMLは同一とする
レスポンシブwebデザイン、非表示要素の対応
レスポンシブ対応サイトの場合、HTMLは一機能につき一種類のみにするのが望ましいです。
PC用メニューとスマホ用メニューがHTML上に存在すると、処理も2回分発生します。
分ける場合は非表示要素の存在を明示し、開発が重複しないような構造、命名ルールを心がけましょう。
注意
- 同じ用途の異なるHTMLを量産しないこと
適切なフォームパーツ
デザインからシステム開発の橋渡しでもっとも問題となるのは「適切なフォームパーツを使用していない」ケースです。
データの受け渡し方法によってHTMLが異なるため、選択を誤るとデータの受け渡しができません。
ボタンパーツの場合
データの取得、送信方法によって「input、button」でなければならない場合、「aあるいはその他HTML」でも問題ない場合があります。
作成前に技術仕様を確認しましょう。
参考:WEBSASサイトで使えるボタンの例
いずれも同じデザインのボタンです。用途によって使い分けることができます。
<a class="c-btn--base" href="#" role="button">a</a>
<button class="c-btn--base" type="submit">Button</button>
ユーザーにタグの種類は関係ありません。
デザインは処理内容ではなく、ユーザー体験(アクションとその結果)を第一に行います。
HTMLタグ | → | 開発内容に沿うものを選択 |
---|---|---|
デザイン | → | ユーザーを迷わせないものを選択 |
入力パーツの場合
属性により活性、非活性、読み取り専用と用途が分かれます。
送信ボタン押下時にデータを送信するもの、しないものを理解しましょう。
状態 | 属性 | 書き込み | 読み込み | form送信時 |
---|---|---|---|---|
活性(通常) | 属性なし | ○ | ○ | 値を送信する |
非活性 | disabled | × | × | 値を送信しない |
読み取り専用 | readonly | × | ○ | 値を送信する |
それぞれ属性ごとに異なるデザインを設定できます。
見た目をわかりやすく整えることで、開発時のミスも防ぎます。
フォームパーツにデザイン側でスクリプトを入れる場合
デザイン側のスクリプトでIDを使用する場合、事前の確認が必要です。
すでにシステム側で決定している場合はその値を、デザイン側で付与する場合は命名ルールを確認しましょう。
開発側で変更があった場合、デザイン側のスクリプトにも修正が発生します。
DOM要素の取得にはdata属性を使用するなど、システム開発に影響しない手法をオススメします。
注意
- 要件定義を理解してデザインすること
- WEB開発のプロフェッショナルが操作に迷うデザインならば、エンドユーザーはさらに迷う
デザインのチートシート
デザインにない要望にも対応できる柔軟な構造
開発が進み、よりイメージが明確になると追加のご要望も増えてきます。
お客様
このページだけ見た目を他と変えたい
全体に影響するから構造は変えたくないな。積み木に貼るシールがあればいいのに
開発者
太字にする、少し間隔を開ける。任意の数だけカラムを作成する。など汎用的に利用できるクラスは想定より多めに設定しておきましょう。
デザイン時に使用しないクラスでも開発時に使用する可能性があります。
たとえば
- 幅指定(1%~100%)
- 背景色
- 文字サイズ など
基本のコンポーネントにクラスを追加するだけでバリエーションが増やせます。
コンポーネントとデザインの一覧画面(ガイドライン)
開発者W
灰色のボタンを赤色にするには?(直接スタイルを書き込もう)
4カラムを作成するには?(Webで検索するか)
開発者T
これでは開発者によって色やレイアウトに差が発生します。
ビジュアルでわかりやすくデザインの一覧をまとめたものが必要です。
コンポーネントの一覧、オプションデザインの一覧。
コピー・アンド・ペーストでHTMLが作成できるチートシートです。
成果物と一緒にそのガイドラインとして納品します。
これによりコンポーネントの定義を明確にし、不具合を防ぎます。
限られた時間内を考えると厳しい作業ですが、クオリティを上げるための大事な一手間。
普段の作業から自動化できる箇所を見つけて、+αに割く時間を増やしましょう
参考:WEBSASで使用中のガイドライン
まとめ
- 納品後、次の段階を常に意識すること
- スキルレベルにかかわらず、品質を保ったHTMLが作成できる手段を用意すること
- 一手間を追加するために効率的に作業すること
- デザイン⇔システムの連携を密にすること
HTML構造の不正は検索サイトでの表示順ダウンに繋がります。
B to Cサービスなど検索サイトで上位表示が必要なサイトの場合致命的です。
開発段階で壊れないようにする工夫を出来得る限り実施しましょう。