フォントなんて、ユーザーがブラウザに指定したフォントで表示するよーにすりゃいーのです。フォントサイズもしかり。部分的にフォント指定するのも味付けにはなると思うけど、本文部分は無為自然がヨイ。つまり、制作者がいちいち指定しないのが吉。
本文のフォントに関しては全くもってその通りで。Windows + IE ユーザは要注意ですね。これ。
私が何故やってしまっていたかというと、良いブラウザならば細かいフォントの設定が可能なのでしょうが、手持ちのIEの場合、日本語については日本語のフォントしか選べないのです。すると、日本語のページに登場する英字がすごく見づらくなり、ユーザースタイルシートを使う以外、この問題を解決できないのです。ある特殊な環境の不便を、一般的なものと認識してしまっていたわけです。Windowsユーザーは盲目で、しばしば自分たちの環境がデファクトスタンダードだと思い込んでしまうことがあります。
さてどうやって対策すべきか。
まあ一番良いのは、ユーザーのフォント指定が制作者のそれに優先するかどうかの選択肢を、ブラウザが提供することだけれども。
Web Nouveauデッドリンク@2002-09-24T19:02:22+09:00 をサイドバー等に入れる為のProxomitronフィルタ。練習を兼ねて。
<(|/)t(able|body|d|r)*>|
<(h?|p\sclass=\"slogo\")*</(h?|p)>|
<div*</div>\s</div>
2行目あたりで、「とりあえずValidである」ことのメリットを感じてみたものの、そもそもStrictだったらサイドバー専用のスタイルシートを適用するフィルタを用意するだけで良いということに気づいて腹が立つ。ブロックリストを使えばすごく便利になるのに。
ひそかに777番を狙っているのだけど、登録申請する際には「お説教」でも垂れてやろうかな。意味ごとにマークアップするように、と。でもそれが原因で弾かれたりして。
興味深い記事を発見。
以下、target=_blank の言い訳として書かれている。
私にとって、日記から文中リンクを貼るときは関連情報の参照先であることが多く、さらっと目を通してサクッと窓を閉じていただきたいからだ。本を読んでいて、参考文献なり注なりが出てくる。そのときにメインの本をわざわざ閉じずに、開いたままで別の資料に一時的にあたる、という感覚。だから2窓開いてもらってる。読み手の都合を無視した、傲慢な指定だと言われても仕方ない。
monologue より
「別窓」問題というのは、表面的なものに過ぎなかったということか。
どうやら「別窓」が有効であると思っている系? の人にとっては、参照先を示すリンクが例外で、ナビゲーションのようなリンクが主であるらしい。
リンクがどういうものかについての認識が違うのだから、「別窓」を叩いたって理解されないのだろう。
target=_blankなんて、無効にする方法は幾らでもあるし、現に無効にしているわけだけれども、それでも「別窓」が嫌いなのは何故か、が分かった気がする。リンクに対しての認識の違いと、閲覧者を放すまいとする態度が気に食わないのだろう。
DEL要素は、本心であることを明示する要素ではありません(自戒)。
要素の内部テキストを得るにDOMでinnerTextメソッドの効果を得る方法が。
私が即興で作ったinnerText互換メソッドは、配列を繋げていたからゴミがついてきていたらしい。文字列をそのまま連結すればよかったのね。なんで配列にしたんだろう。文字列連結は処理が遅くなるとか勝手に想像していたのかも。
それにしても関数名同じだし。ひょっとして気を悪くされたんじゃないかなあ、見られていればだけど。まるで改悪してしまったようでなんか鬱。
Operaはユーザースタイルシートではローカルの画像を扱えないような気がします。サーバが稼動していれば別ですけれども。
そんなことはありません。
execCommand (英語)に、Indentとかいうコマンド(Command Identifiers (英語))がある。実際には選択範囲文字列を包含しているブロックにblockquote要素を適用するというトンデモ仕様。blockquoteセレクタのマージンをゼロにしていたら、インデントでもなんでもないんですけど。
でもでも、pasteHTML (英語) は、かなり賢い。JScriptユーザは要チェックかも。
サイト内の他の部分との相対関係でユーザの現在位置を明示する。そのサイトに階層的な情報構造があるのなら、通常は、パンくず式道しるべ(breadcrumb trail)を利用するのがベストだろう。また、現在位置と直接関連のあるリソースへのリンクも設けておくとよい。サイト内の全エリアへのリンクや、現在位置と関連の薄いページへのリンクでユーザを圧倒してはならない。
Alertbox: 直リンクのすすめ(2002年3月3日) より
多分、全部見てもらいたいのでしょう。しかし制作者の思惑とは裏腹に、サイトを全部見ようと考える閲覧者は少なそうです。いつもいつも、いちいちごもっとも。
場合によっては、まれに直リンクが非生産的に働く場合がある。上位レベルのページを通過しないと利用できない、あるいは利用すべきでないページがあるからだ。
Alertbox: 直リンクのすすめ(2002年3月3日) より
がっかりです。博士。何故そんな問題を持ち出しますか。テーマは「直リンクのすすめ」でしょう? 人間の行動の問題と、ロボットのそれをごっちゃにしています。どういう形のリンクが好ましいかという主題の効果を、どういうリンクのされ方がまずいかという副題で薄めてしまっています。人間が、あるリソースに直接リンクしたいという動機を持っているなら、問題は無いはずです。「課題」と「解答」の例でいえば、「解答」そのものにリンクする必要があるなら、わざわざ「課題」にリンクするのはユーザビリティを低下させます。そもそも、検索で突然たどり着かれてしまったとしても、本当にユーザビリティを低下させるかどうかは怪しいものです。だって検索フレーズにマッチしたからたどり着いたのでしょう? 「課題」をやってみたいと思って訪れたのではないはずです。
ってこんなところで愚痴っても虚しい。でも本当にあの後半部分は削除していただきたいものだ。酷いよ、あれは。絶対的に信頼していた人に裏切られた気分(大袈裟)。
というか、制作者の都合の問題はユーザビリティと切り離せといつも仰っているではないですか。しつこいな。私も。
何に使うものなのかは不明です。おまけつき。
何も起こらない。
Win98 + IE6 + fub(ActiveXフィルタ常時適用)
IEを使う利点は、アンチIEの方々が大騒ぎしてくれる為、素早く対策を立てられることだ。私は対策が好きなんだ。OUTLOOK EXPRESSなんて、特に対策の立て甲斐がある。
アンチIEという言葉を使ったのでもう一つこぼしておくと、あまり堂々とアンチIEを自称しない方が良いです。どういうサイトを巡回しているかが知れてしまいますヨ。
半年後か、一年後か、下品なサイトのブラウザクラッシャーに引っかかり、怒りのあまりにアンチIEの同士を求めて検索してきた訪問者の、落胆する姿が目に浮かぶ。
そんな未来の君にはOperaを薦めよう。チカチカ点滅するチラシみたいな広告に慣れているなら最高の無料ブラウザだ。はっきりいって無敵。
ほとんど関係無いですがわからないのがsetDataメソッドでTEXTに対してStringをセットつまり「Call objClipboard.setData("TEXT", "ハァハァ")」とかするとたまーに「FORMATETC構造体が無効です」というエラーが出るんです。
ぷろじぇくと、みすじら。 より
JScriptでも、setDataメソッドを使うと確かに出る。たまに。しかもブラウザを終了させないと復旧しない。というわけでclipBoardDataオブジェクトは私の脳内から抹殺されました。FORMATETC構造体なんて名前見ただけで調べる気になれない。IEのコピー関係の処理は、遠回りだけどやっぱりこれで。
var d = document;
t = d.createElement("TEXTAREA");
t.appendChild( d.createTextNode(argument) );
var rng = t.createTextRange();
rng.execCommand("Copy");
TextRange Object (英語)経由ならそういうことは無いらしい。
関係ないが、何でJScriptが好きなのか何となく分かった。名前だ。これが、MScriptとかオヤジギャグを効かせていたら間違いなく拒絶反応が出ていたろう。
「現在のHTMLソースをコピー (Copy current HTML)」する際、相対URIは絶対URIに変換するようにしてみた。タイムラグ0.5秒でJavaScriptを3回発射。荒業。
documentElementから出発して、全ての子要素(childNodes)の属性を検索、src属性値とhref属性値を、絶対URIに変換する関数に渡すという処理の最中、多くのサイトでスクリプトエラーが。
調べてみると、IMG要素で躓いているらしい。IMGオブジェクトには、hrefプロパティがあるようで、しかもこれはread onlyだったという罠が。これに書込みしようとしたところでエラーになっていたことが分かった。
隠しプロパティのようだ。
関係ないけど、これ、露骨過ぎ。
The following example shows how to use the IMG element to embed a bitmap image (.bmp) on a page.
<IMG SRC=mygraphic.bmp>
多重フレームも左下のジェスチャで強制的に閉じるようにしてみた。
親フレームのドメインが異なるとエラーが出るのはJavaScriptの仕様です。
他、8kb未満までサイズを減らしたり記述ミスを直したり。
それにしても、javascript:スキームのバイト数制限には鍛えられている。cite属性をアンカーにするスクリプトを懲りずにまた書いてみたところ、最初に書いたものより随分コンパクトに。見づらいけど。