この属性は、フォーム処理エージェントを指定する。HTTPスキームURI以外の値の場合のユーザエージェントの動作は、定義しない。表示する方が自然な気がしますが。変換しているんですね。ファイルというところが不思議。この属性は、フォーム処理エージェントを指定する。HTTPスキームURI以外の値の場合のユーザエージェントの動作は、定義しない。動作としてはおかしくないと思いますが。仕様書に従うことになります。仕様通りの動作を期待すべきなのかどうかどうかは不明です。動作を期待すべき状況の可能性もあります。あることには変わりありません。はらじもさんが期待する動作をしないといけないと思いますが。仕様だけでは決まりません。仕様も関係するでしょう。Linux/Firefox3.0)すいません。なんか前提の存在しない空虚な議論をしているような気がしますので、この話題から撤退します。仕様だけでは決まりません。仕様も関係するでしょう。昔から「action属性/href属性に指定した文字列そのもの」を意味していません。絶対パス形式ならば、<base>の有無などをプログラムでわざわざ判定しなくてもどこに飛ぶかが一発でわかるわけですから、絶対パス形式のほうが合理的であると言えると思います。Win版だけのQuirksかも)、Fx3からは、javascrpt:URLで空白が"%20"にエスケープされる、などの現象も起こります。「仕様」がないので、このあたりはブラウザーによってまちまちですし、javascript:URIの%20へのエスケープのように、Fxでもバージョンによって異なります。https://bugzilla.mozilla.org/show_bug.cgi?id=422609結論としては、action属性/href属性の「文字列」が必要な場合は、document.getElementById(id).getAttribute('action'/'href')を使うべし、になります。5では、「URL」として、location.href/protocol/host/pathnameなどのような属性をきちんと定義し、それを「DOM」の属性としてアクセスできるようにしようとしているように見えます。5との整合性がとれるように、少し変える必要がでてくるかもしれませんね。SP3/SeaMonkey1.1)(追記)location.hashにも(これもDOM-0)、理由が良くわからないFxの動きがあります。https://bugzilla.mozilla.org/show_bug.cgi?id=378962location.hrefやlocation.searchはエスケープしないのに、どういうわけか、location.hashだけエスケープしたものを返します。name="...">とそのURL上での指定に関係している、一種のQuirksだと思うんですけど。5の仕様が早いとこ固まって、DOM-0でもできるだけそれに準じた動きに変えて、不可解な動きが早く無くなるといいですね。