HTMLは文書の構造を記述する言語で、見てくれを記述する言語ではない。その餘りにも單純な理念を理解してゐれば「WYSIWYG型HTMLエディタ」なるものを作つて賣る事など到底出來つこない筈だ。
では、「タグ挿入型HTMLエディタ」ならば良いのかと云ふと、これがまたろくでもないものしか世の中には存在しない譯で、非常に困るのである。「タグ挿入型」のエディタの使用者は「俺ももう初心者ではないのだ」と云ふ誤つた意識を持つてしまふ。或は、ソースを直接いぢれる「タグ挿入型」を使つて、「俺もいよいよ中級者」とかユーザが思ひ始めたとしたら、それは間違つてゐる。「WYSIWYG型」のエディタを使ふ人間が、「まだまだ俺は初心者」だと思つてゐる方が、まだ増しである。
「WYSIWYG型」のエディタが屡々出たら目なソースを吐く事は知られてゐる。しかし、HTMLの事を良く知らない人間が「タグ挿入型」のエディタを使つて想像を絶する無茶なHTML文書を書く事は、意外と知られてゐない。問題は、こちらの方が大きい。
そもそも、「WYSIWYG型」のエディタは、プログラミング上の制約で、一定以上に出たら目なソースを吐く事はない。修正も、機械的に可能である。個人的に「WYSIWYG型」のエディタは使ふ氣もしないが、他人に「使ふな」と強要する積りはない。MS WordにHTML文書を吐かせるのは論外だが、Composerも「ホームページビルダー」も、そこそこ見られるソースを吐く。Frontpage Expressは、勝手に改行を入れようとして、エディタ上でのレンダリングすら出來なくなると云ふ問題を抱へてゐるが。
そもそも、HTMLを全く知らない人間がHTML文書を書いて公開しようとする事自體が間違つてゐる。さう云ふ素人が闇雲にキーを叩いて作る文書よりは、「WYSIWYG型」のエディタの方が増しな「HTML文書」を作る。だから私は一概に「WYSIWYG型」のエディタを否定しない。
實際の所、恐いのは、HTMLをよく知らない人間が、「タグ挿入型」のエディタで、闇雲にキーを叩いて目茶な文章を作る事なのだ。今、世に出てゐる「タグ挿入型」のエディタでは、出たら目な場所で好い加減にタグを挿入するコマンドを實行すると、きちんと實行して呉れる。
「WYSIWYG型」のエディタでは、エディタでレンダリング出來ないやうな記述は基本的に出來ないので、エディタ自身が勘違ひした實裝をしてゐない限り、間違つた記述は出來ない。しかるに「タグ挿入型」のエディタは、如何なる記述をも受容れるので、誤つた記述も當然の如く受容れてしまふ。
そして、「タグ挿入型」のエディタを使ふ、素人にちよつと毛の生えた程度の人間は、HTMLの文法など全く知らないから、誤つた記述を平氣でしようとするのである。そして、誤つた記述のなされたHTML文書を無理矢理ブラウザにレンダリングさせ、一風變つた表示になると、或は正しい表示になると、猿のやうに喜ぶのである。言換へれば、「タグ挿入型」のエディタは、誤つた記述をユーザにさせ兼ねない。
「タグ挿入型HTMLエディタ」の缺陷は、「タグを挿入する」と云ふ考へ方そのものに根ざしてゐる。「タグ挿入型」のエディタを作るプログラマは、タグを「コマンド」か何かと勘違ひしてゐるのである。マークアップと云ふ事を全く知らないのである。
「タグ挿入型」のエディタで書かれたと思しき「HTML文書」には、幾つか特徴的な誤りがある。ブロック要素をインライン要素に平氣で含めてしまふ、と云ふのが、特にありがちな誤りである。
例へば、フォントファミリを全文に渡つて指定したいとする。その場合、「WYSIWYG型」のエディタならば、律義に段落ごとにfont要素で括つて呉れるだらう。しかし、「タグ挿入型」のエディタを使つてゐる人間ならば、當然の如く、
<BODY>
<FONT FACE="MS ゴシック">
<P>……
<P>……
</FONT>
等とやらかすだらう。ちなみに、スタイルシートならば、*.cssファイルでp{font-family:"MS ゴシック"}
とやれば一發である。(フォントファミリを指定する是非は論じない)
個人的には、アウトラインプロセッサ風のHTMLエディタが出現する事に期待したい。Wordのアウトラインプロセッサ機能を良く知つてゐる人間ならば、見出しレヴェルなどが即、HTMLに反映可能である事に氣附くだらう。
實際の所、Wordは理想的なHTMLエディタのモデルなのである。WordがHTML文書を出力する際に、本文の見出しレヴェルのみを反映して呉れるだけで、餘計なフォント情報やら何やらを記録しないで呉れるやうになれば、(ついでに、スタイルの設定をそのまま*.cssファイルに落してくれるやうになれば)私はWordが一番すぐれたHTMLエディタとなるだらうと思ふ。
しかし、Microsoftには頭の良いプログラマ(或はプロジェクトマネージャ)がゐないみたいだ。Microsoftは、未来永劫そんな事などやらないだらう。となれば、誰かがやるしかないのだが、さう云ふ事が出來るプログラマはそれほど多くはゐないだらう。
どう云ふ譯かプログラマはHTMLの文法を絶對に餘り守らうとしない。良くさう云ふ好い加減な態度でプログラミングが出來るものだとあきれるが、連中、CだのBASICだのと云つたプログラミング言語の仕樣は忠實に守るらしい。恐らく連中は、HTML言語を馬鹿にしてゐるのである。
プログラマには、HTMLエディタを作りたければちやんとHTMLの勉強をして呉れ、と申し上げたい。ユーザには、HTMLの勉強もしないでHTMLエディタを作つてゐるプログラマは、プログラミング言語の勉強もどうせしてゐないに決つてゐるぞ、と警告したい。
HTMLの文法チェックもしないHTMLエディタなんて、バグの塊であるも同然である。機能は豐富だがバグだらけ──それは「WindowsやIEと同レヴェルの屑プログラム」と云ふ事である。ゲイツを嗤ふくせに、「ゲイツ並」のプログラムしか組めないプログラマなんて、屑である。(もつとも、ゲイツ自身が屑プログラマである譯ではない)
或は、HTMLエディタを公開してゐるサイトがあつたら、そこのHTML文書のソースを覗いて見ると良い。プログラマが、文法違反だらけの文書を平氣で公開してゐたら、そこで配布してゐるHTMLエディタは信用ならない。
繰返しになるが、個人的には、Wordの操作性、アウトライン機能、スタイル機能──これらをデッドコピーしたHTMLエディタがほしい。
カーソルを文中に置いて、何も選擇しない状態でメニューを選べば、段落全體をブロック要素で括る、文中の一部を選擇した状態でメニューを選べば、その部分だけをインライン要素で括る。ブロック要素は、本文はp、見出しはh1から順にh6まで、機械的に附ける。表示はWordの「アウトラインモード」そつくり(見出しレヴェルは、行頭のマーカをドラッグ&ドロップする事で變更可能)に。入出力ファイル形式は、DOCTYPEを見てしつかり決定。見出しや本文のスタイルは*.cssファイルに保存し、本文からlink要素で關聯附ける。
──こんな機能しかない「低機能なアウトラインプロセッサ」を、誰か作れ。これこそ理想的なHTMLエディタだ。作つたら私に聯絡して呉れ。ただなら是非とも使ひたい。以上。
Microsoftには頭の良いプログラマ(或はプロジェクトマネージャ)がゐないみたいだ、は、さすがに言過ぎだと思つた。でも、何とかして下さい。