わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

プレースホルダ属性をlabelの代わりに使用してはいけない

 いきなりですが問題です.次の文を添削してください.

プレースホルダ属性をlabelの代わりに使用してはいけない。

 さっそくですが解答です.次のように書くのがいいでしょう.

placeholder属性をラベルの代わりに使用してはいけない。

 元ネタは,先週の授業の添削課題です.プレースホルダは昨年度に引き続き取り上げました.文章は,和歌山大学図書館から始まります.蔵書検索のフォームについて,何も入力していないときは「キーワードを入力」と薄い色で表示されます.マウスクリックでも,カーソルが点滅しますが,同じ表示です.そこに1文字でも入力すると,「キーワードを入力」が消えて,打ち込んだ文字になります.このようにして,何を入力すればよいかを表示する仕組みが,プレースホルダです.
 上の問題においては,プレースホルダをplaceholderに,labelをラベルに,それぞれ書き換えました.その理由・方針は,次のように表せます.

  • 日本語で文章を書く場合,技術や概念の名称は日本語文字(カタカナ書きを含む)で表記する.
  • プログラムコード・コマンド・ファイル(HTMLも)などで表記されるものは,ASCII文字(いわゆる半角の英数字)で表記する.

 もちろん例外もあります.上記の「HTML」「ASCII」は,「技術や概念の名称」に位置付けられますが,これらを「ハイパー(以下略)」や「アスキー」などと書くのは不自然で,略語を中心に,広く使われている名称は,日本語にしなくていいでしょう.本記事の後ろに出現する,「Web」「Java」は,略語ではありませんが,これらもそのように書くのが自然です.
 プレースホルダの文章添削は,2年連続ですが,途中の説明をかなり変更しました.なぜラベルの代わりに使うべきではないのかについて,以下のページを参照しました.

 そして(添削対象の)文章中に「消えるプレースホルダテキストはユーザーの短期記憶に負荷をかける。」という文を入れました。この文を検索語として,Goodleで検索すると,トップが上記リンク先です.Teamsの授業サポートのためのチャネルでは,課題の講評として,このURLを挙げ,「前後関係から見て不自然な語句(この例では,短期記憶)があるとき,文を検索すれば,元になる情報を見つけやすいことを,活用してください.」を加えました*1
 ところで「placeholder属性」と書いたら,HTMLのフォームに関する話ですが,Webアプリケーションのためのプログラミングでは,別の用途で「プレースホルダ」が出現します.例えばJava

String sql = "select user_id,displayname from users where loginname=? and password=?";

と書くときの「?」が,プレースホルダです.これはプリペアドステートメントjava.sql.PreparedStatementインタフェース)と密接に関係します.このコードを含むサンプルプログラムは,先週の授業で使用可能にしました.

*1:文ではなく語句に関して,またプログラミングではなく算数(かけ算の順序)を題材にしていますが,https://takehikom.hateblo.jp/entry/20171231/1514713746というのを書いています.