Backport(バックポート) #1405
完了Navigation and Profile setting forms are invalid markup as HTML (ナビゲーション設定とプロフィール設定のフォームのマークアップが不正)
0%
説明
Navigation and Profile setting forms are invalid markup as HTML (ナビゲーション設定とプロフィール設定のフォームのマークアップが不正)
Overview¶
現在、次のようなマークアップがされています。
<table> <tr> <form action="edit"> <td><input name="value1" /></td> <td><input name="value2" /></td> <td><input name="value3" /></td> <td><input type="submit" value="EDIT" /></td> </form> <td><form action="delete"><input type="submit" value="DELETE" /></form></td> </tr> </table>
テーブルを用いて、1行ごとに(セルをまたぐ)フォームを設置することは HTML4.01/XHTML1.0 の仕様ではできません(HTML5の仕様ではform関連要素が拡張され可能になっています)。
上記は構文妥当性に反したマークアップであり、仕様に忠実なUAでは次のように解釈されるかもしれません。
<table> <tr> </tr> </table> <form action="edit"> </form> <td><input name="value1" /></td> <td><input name="value2" /></td> <td><input name="value3" /></td> <td><input type="submit" value="EDIT" /></td> </form> <td><form action="delete"><input type="submit" value="DELETE" /></form></td> </tr> </table>
現状では、各種ブラウザのエラー補正機能によって、始めのような不正なマークアップであってもフォームが想定通りに動作していますが、この動作は保障されるものではありません。
Way to fix¶
現在のテーブルで1行ごとにフォームを設置する設計を維持したまま、妥当なマークアップにすることはできません。
本件の対応として、そもそも現在の設計がUI的に使いやすいものではないという考えのもと、抜本的に設計を変え、その上で妥当なマークアップに改善することを提案します。
UI的により使いやすい要素として、例えば複数の項目を同時に編集できたり、新規項目を一度に複数追加できるようにするといった実装が考えられます。
Minoru Takai さんが14年以上前に更新
- 優先度 を Normal(通常) から Low(低め) に変更
参考程度にコメントしておきます。
この元チケットは、HTML的に不適切でもあり、項目をひとつずつしか操作できない現状のUI的にも改善しようと考えて作成したものであり、前者の理由からバグチケットとなっていますが、どちらかというと改善チケットです。
恐らくこのチケット対応のための修正内容は、バグを潰すというレベルではなく抜本的に設計から見直すものになると思われますので、個人的観点からですが本バックポートチケットの優先度を下げておきます。
Minoru Takai さんが約14年前に更新
- ステータス を New(新規) から Invalid(無効) に変更
元チケットを改善チケットに変更しました。
この元チケットの内容はバグ修正ではなく、発展的な改善と考えるためバックポート対応は行わないことにします。
本チケットをクローズします。