HTML_QuickForm_Renderer_Tableless は、HTML_QuickForm のデフォルトのレンダラを置き換えるものです。目標は次の二点です。
アクセシビリティ: table タグを廃止してその代わりに label タグの for 属性やフォーム要素タグの id 属性を用いることで、 出力結果はアクセシビリティの高いものになります。 体の不自由な方はスクリーンリーダを使用されることもあるでしょうし、 そうでない人にとっても、ラベルをクリックすることで、 関連するフォーム要素にフォーカスを移動させられるという利点があります。
妥当性: このレンダラが生成する出力は、妥当な XHTML 1.1 形式となります。
このレンダラを使用するには、スタイルシートをコピーし (そして必要に応じて書き換え)、そして次のように書くだけです。
require_once 'HTML/QuickForm.php'; require_once 'HTML/QuickForm/Renderer/Tableless.php'; $form =& new HTML_QuickForm(); $renderer =& new HTML_QuickForm_Renderer_Tableless(); // ここに通常のコードを書きます。 // たとえばフォームのフィールドや規則など……。 $form->accept($renderer); echo $renderer->toHtml(); |
完全に妥当な XHTML を生成させるには、次の行をコードに追加する必要があります。
$form->removeAttribute('name'); |