プロジェクト

全般

プロフィール

Enhancement(機能追加・改善) #1366

Navigation and Profile setting forms are invalid markup as HTML (ナビゲーション設定とプロフィール設定のフォームのマークアップが不正)

Minoru Takaiほぼ14年前に追加. 約12年前に更新.

ステータス:
New(新規)
優先度:
Normal(通常)
担当者:
-
対象バージョン:
開始日:
2010-07-15
期日:
進捗率:

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的により使いやすい要素として、例えば複数の項目を同時に編集できたり、新規項目を一度に複数追加できるようにするといった実装が考えられます。


関連するチケット

関連している OpenPNE 3 - Bug(バグ) #606: IE8でプロフィール選択肢一覧の表示が崩れる Fixed(完了) 2010-02-10
関連している OpenPNE 3 - Backport(バックポート) #1405: Navigation and Profile setting forms are invalid markup as HTML (ナビゲーション設定とプロフィール設定のフォームのマークアップが不正) Invalid(無効) 2010-07-15

履歴

#1 Kousuke Ebihara13年以上前に更新

  • 対象バージョンOpenPNE 3.6beta1 から OpenPNE 3.7.0 に変更

#2 Rimpei Ogawa13年以上前に更新

  • 3.6 で発生するかYes にセット

#3 Rimpei Ogawa13年以上前に更新

  • 3.6 で発生するかYes から No に変更

#4 Minoru Takai13年以上前に更新

  • トラッカーBug(バグ) から Enhancement(機能追加・改善) に変更

このチケットは、HTML的に不適切でもあり、項目をひとつずつしか操作できない現状のUI的にも改善しようと考えて作成したものであり、前者の理由からバグチケットとしましたが、どちらかというと改善チケットです。

恐らくこのチケット対応のための修正内容は、バグを潰すというレベルではなく抜本的に設計から見直すものになると思われますので、バックポートチケットは在るべきではないと判断します。

また、前述の通り、HTML的には「バグ」と言えるものですが、OpenPNEとしては「改善」として見なした方が自然だと思われるのでチケットの種類を変更します。

#5 Shouta Kashiwagi約12年前に更新

  • 対象バージョンOpenPNE 3.7.0 から 252 に変更

#6 Shouta Kashiwagi約12年前に更新

  • 対象バージョン252 から OpenPNE 3.8.x に変更

他の形式にエクスポート: Atom PDF