1

XHTML 1.0 Strictを DOCTYPE として使用する観点から、 XHTMLの入力タグは表形式のデータと見なされますか?

そうでない場合は、MySQL と PHP と組み合わせて使用​​できる有効な XHTML (Strict 1.0) コードについて、誰か良いアドバイスをいただけませんか? 私がする必要があるのは、別の入力フィールドの右側に入力フィールドを配置することです (ただし、右側の入力フィールドを常にページに印刷する必要があるとは限りません)。現在、これしか考えられませんでした。 :

<table>
    <tr>
        <td><input type="text" value="First column"></td>
        <td>...</td>
        <td>...</td>
    </tr>
    <?php if(!empty($column2)){ echo '<tr><td><input type="text" value="Second column"></td></tr>'; } ?>
</table>

それで、他のアイデアはありますか?私はあなたが持っているかもしれない提案に感謝します!

EDITまた、各列の上にキャプションを付ける必要があることにも言及する必要があります(各入力フィールドではなく、私の例から見て、各 tr としましょう)。

4

4 に答える 4

2

<input>表形式のデータですか?

私はこの質問に次の反対の質問で答えます:

長方形は正方形ですか?

一般的に言えば、答えはノーですが、答えがイエスである場合もあります。

入力が表形式である場合、表のマークアップは理にかなっています。たとえば、特定の設定/メモを持つユーザーのテーブルは、テーブル内で意味的にマークアップされます。

ログイン用のユーザー名/パスワードフィールドを含むテーブルは、セマンティックではありません。

最終決定はあなた次第です。表形式のデータに対して適切な意味論的議論を行うことができると思われる場合は、必ずそれを表に入れてください。

于 2011-03-30T19:14:25.577 に答える
1

別の入力フィールドの右側にある入力フィールド?

えっと…これ?

<div>
    <input> <input>
</div>

ライブデモ: http://jsfiddle.net/dWPfx/1/


更新:キャプション付き:

<table>
    <tr>
        <th>Name:</th>
        <th>Surname:</th>
    </tr>
    <tr>
        <td><input></td>
        <td><input></td>
    </tr>
</table>

ライブデモ: http://jsfiddle.net/dWPfx/2/

于 2011-03-30T19:27:02.580 に答える
0

div でも同じことができるはずです。

<div style="overflow: hidden;">
   <div style="float: left;"><input value="First Column" /></div>
   <div condition="exists:column2" style="float: left;">
      <input attributes="value column2" />
   </div>
</div>

入力と表形式のデータは、必ずしも相反するものではありませんが、互いに何の関係もないと思います。xhtml データのセマンティクスは、解釈の余地があります。重要なのは、「入力は表形式のデータのようなものなので、ここでテーブルを使用するのはクールだ」などの言い訳が頭の中でできたとしても、スタイリングにテーブルを使用しないでください。

于 2011-03-30T19:26:46.357 に答える
0

input表形式のデータであるかどうかについての懸念は、 XHTML 1.0 Strict の有効なマークアップへの欲求に影響を与えるべきではありません。

が表形式であるかどうかは、input検証ではなくセマンティクスの問題です。誤解しないでください。セマンティクスは重要です。使用するマークアップは、含まれるコンテンツを説明する必要があります。ただし、セマンティクスは、コードが検証されるかどうかとはほとんど関係ありません。

の場合、input検証の要件は、(1)<form>タグ内にあること、および (2)<p><table>またはその他のブロック レベル要素などのブロック レベル要素内にあることです。

対処すべきもう 1 つの懸念事項は、アクセシビリティです。テーブルとフォームの両方に、スクリーン リーダーとキーボード コントロールに関する多くのアクセシビリティの課題があります。スクリーン リーダーがテーブルを解析する方法は、コンテンツを消化する意図とは異なる場合があります。そのため、ユーザーは項目が順不同で読み上げられてしまう可能性があり、その結果、ページはユーザーにとって無意味なものになります。キーボード コントロールを使用してフォーム要素間をタブで移動することも、使用するマークアップの影響を受ける可能性があります。これは、テーブルでは、ユーザーがページ内でそれらを消化することを意図した順序とは異なる順序で要素をマークアップに配置する必要がある場合があるためです。

個人的には、フォームが表形式のデータであるとは考えておらず、フォームのマークアップを作成するときに表を使用していません。通常、私は順序なしリストを使用します。一般的な例は次のとおりです。

<form>
  <fieldset>
    <ul>
      <li>
        <label for="item">Item 1</label>
        <input type="text" name="item" id="item" />
      </li>
      ...
    </ul>
  </fieldset>
</form>

それが役立つことを願っています。

于 2011-03-30T19:29:22.367 に答える