マークアップのいらない未来を考える

みなさん、マークアップ好きですか? 私はまあまあ好きです。デザインされたパーツをHTMLでどう組むかを考えたり、他の開発者と意見を戦わせたりするのは楽しいですよね!

ただ、自分はマークアップ行為そのものについて、「ここにそんな拘る意味あるのかな?」と疑ってしまうことがあります。<dl> を使うか使わないか、とか、パンくずナビはどうマークアップするか、とか、少しでも良いマークアップをするために切磋琢磨するのはきっと楽しいことなのでしょうが、エンジニアとしての自己満足に陥ってはいないだろうか? と我に返る時があるのですよね。その時の感情を掘り下げてみようと思ったことが、この記事を書くきっかけとなりました。

この記事で私が最終的に述べたいことは、近い将来の標準的なWebプロジェクトにおいて、緻密なマークアップ作業の重要性は極めて低下するだろうということです。なぜ私がそう思うか、妄想を交えつつまとめてみようとおもいます!

なお、筆者は一人のWebエンジニアに過ぎません。これから少し触れる人工知能や機械学習の専門家でなければ、アクセシビリティの専門家というわけでもありません。いーかげんなことを述べているかもしれない点はご承知おきください。

もくじ

  • マークアップの定義
  • マークアップが必要のない未来はやってくるのか?
  • マークアップ作業を不要にする3つの要素
    • 複雑化し続ける仕様たち
    • 機械によるWebサイト認識技術の台頭
    • マークアップ‐読み取りの逆転現象
  • マークアップをする意義について
  • 新しい情報の表現のしかた
  • マークアップのコストを減らして本流に注力しよう!
  • まとめ
  • 蛇足コラム
    • 機械のもう一つのメリット
    • 機械の精度について
    • マークアップの放棄によって失われるもの

マークアップの定義

いちおう。書いておかないと誤解を招いてしまうので。

ここでのマークアップは、「HTMLを書くことそのもの」を指します。具体的には、HTMLの構造化を目的としたタグ付けと、あるいはそれを拡張するためのWAI-ARIAの実装、Schema.orgなどのメタデータの語彙を付与すること、です。CSSを使ったスタイリングやJavaScriptプログラミングについては言及していないものとします。

マークアップが必要のない未来はやってくるのか?

やってくる。というのがこの記事のおおまかな主張です。

ただいろいろ考えた結果として、完全にゼロになることはなかなか無いと思うに至りました。なので正確性を期して表現するならば、

近い将来、マークアップの大部分は不要になるだろう。ただし、ちょっとだけ残る必要部分は、手動で補うことになる。

です。

マークアップ作業を不要にする3つの要素

  1. 複雑化しつづける仕様たち
  2. 機械によるWebサイト認識技術の台頭
  3. マークアップ‐読み込みの逆転現象

要素1:複雑化し続ける仕様たち

Webサイトがどんどん複雑化、アプリ化している今日この頃。Webアプリをマークアップするための仕様は有るにはありますが、やはり限られたUIパターンにしか適用できない現実があります。仕様にないUIパターンは、なんとか既存のパーツを工夫しながら組み合わせたり、諦めたりしなくてはなりません。

HTML5でタグが追加されていることや、メタデータの語彙が増え続けていることを見ても、今後もしばらくの間、マークアップ作業が複雑になり続けることは容易に想像できます。「適切なタグと語彙を用い、可能な限り多くのマークアップを施すこと」を「正しいマークアップ」と定義付けしている限り……。

今でこそ大変な正しいマークアップの実践が劇的に簡略化される見込みが、今のところ無いんですね。

要素2:機械によるWebサイト認識技術の台頭

文章や音声、映像を機械が読み取り、変換をする。そんな技術分野の発達が目覚ましいです。Webサイト翻訳機能や、YouTubeの自動字幕起こし機能はその代表格と言えます。近年でいうとMicrosoft、 Google、 Baidu、 Facebookといった世界に名だたる企業が、画像から説明文を自動生成するAIを開発しているといったニュースがあります。

このような技術と似たノリで、Webサイトそのものを対象とした認識技術が出てくるだろうと思っています。この認識技術はWebサイトの利用者に大きな利便性をもたらすはずです。

人間が目で見て認識するのと同じように、機械がWebサイトを「見て」認識してくれる技術です。マークアップは補助的に使うかもしれませんが、原則使いません。機械にWebサイトを見せると、OCR(光学文字認識)の要領で内容を解釈して、自動的に意味を持った情報に変換してくれるものです。

この技術が実現されたとして、オープンソース化されて、スクリーンリーダー等の支援技術やブラウザ、その他のUAに搭載された未来が来るとしたら……夢があるとは思いませんか?

要素3:マークアップ‐読み取りの逆転現象

マークアップにされたHTMLを機械が読み取り解釈する。これが従来の主従関係ですが、近い将来どこかの段階でこの関係が逆転します。「マークアップされていないWebサイトを機械が読み取る」「過不足を調整するためにマークアップを必要な分だけ追加する」になるでしょう。

ここでいう「マークアップされていないWebサイト」は全部 <div> で組まれたものかもしれないし、あるいは全部デザインカンプそのまんまかもしれません。

なぜこうなるかというと単純な話で、コストに対して機械に任せた時のメリットが圧倒するようになるからです。ゼロからマークアップを始めるなんて、手間がかかりすぎてバカバカしいという価値観が当たり前になるのです。

マークアップをする意義について

「マークアップなんてやめて、機械に任せちゃおう!」

そんな単純な話で、うまくいくんでしょうか? 機械は所詮機械だし、うまくいかないのではないか? その心配はもっともですよね。それを考える前にちょっと、私たちがマークアップをする意義について考えてみることにします。ただ綺麗な表示ができればイイのだったら、数多くあるHTMLタグを覚える必要はないですね。何かもっと、崇高な目的があったような気がします。

マークアップをする目的は、マークアップが楽しいから? ではありませんね。楽しく仕事ができるに越したことはないですが、楽しむことは目的ではありません。

HTMLを正しく使うため? これも違います。手段を目的化してしまっています。そうではなく、目的を達成するためにHTMLを使っていたはずです。

SEOのため? ま、それもそうですが、これは副次的な効果といえそうです。本来の目的はもっと別の所にあったはず。

機械可読性の担保のためだったでしょうか? かなり近いです。Webサイトの認識機能が付いていない従来の機械がWebサイトの内容を読み取るには、マークアップが必要です。SEOにも良いでしょう。

でも、本当の目的は違いました。私たちが丹念にマークアップをしている目的の元をたどると、情報を伝えるためだったはずです。Webサイトに掲載しようとしている情報を、どこかの誰かに伝えること。それがマークアップをする真の目的なのです。いや、当然ですね。

新しい情報の表現のしかた

情報を伝えるという大目的があって、それを実現する手段としてのマークアップがある。そういう構図でした。つまり、情報を伝える目的が達成できるのであれば、その手段はマークアップに限る必要はないですよね? そこで、Webサイト認識技術を視野に入れて考えてみようということです。

機械による認識は万能ではありません。きっと限界があるでしょう。たとえば精度です。伝えたい情報を本当に機械がうまく読み取って変換してくれるんでしょうか? 時間があれば精度は高まっていくはずですが、認識精度がどれだけ向上しても、情報発信者の意図を100%汲み取ってもらえることはありません。それはまず確かなように思います。

また、その機械をいつでもどこでも扱えるとは限りません。可用性の問題です。パソコンが変わったら使えなくなってしまうかもしれないし、新しく登場するデバイスには機能が搭載されていないかもしれない。

これらの不安はもっともで、これといった解答はありません。しかし重要なのはバランスです。Webページの大半はビジネスの手段や成果物としてのものですから、コストは度外視できません。どこかで「情報が伝わる度合い」と「コスト」とでバランスをとっていくことになります。その時の一つの方針として、情報受信者側の技術革新を期待した情報設計をすることは全然おかしな話ではないと思っています。そのような方針が情報発信者の心構えとして不適切なものだとも思いません。

「いいじゃん、伝われば」という選択だって、全然アリではない? というわけです。

マークアップのコストを減らして本流に注力しよう!

「アクセシビリティ」という単語を意図的にあまり使わずに書いてきました。しかしここまで書いてきた「情報を伝える」という本質部分は、アクセシビリティと密接な関係にあります。アクセシビリティを考えることは、伝わる情報について考えることと同じだからです。

マークアップに費やすコストはそこそこに、お客さまの課題に向き合うとか、コンテンツ制作とか、要件のブラッシュアップとか、もっと本質的な部分に目を向けられるようになるほうが、きっと生産的だと思うのです。なにせ、マークアップがアクセシビリティに有効な唯一の手段というわけでは、全然ないのですから。

HTMLをはじめとするWebを取り巻く技術に日頃から親しんでいると、「情報が意味を持った状態でそこにあることが重要」と考えがちです。全く間違った考え方ではありません。真のユニバーサルな情報のあり方とは何かと考えたときに、そう結論付けられることも納得できます。とはいえ、どこかで理想と現実との折り合いをつけていかなければなりません。緻密にHTMLを書いた結果として、現実として情報の伝わりやすさにどれほどのインパクトを及ぼすのか? を考え続けるべきなのです。それを計測することは実にむずかしいんですけれどね。

まとめ

文章をまとめるのは本当に難しいですね。ざっくりとまとめます。

マークアップが必要のない未来は、来まぁす! それはWebサイト認識技術によってもたらされます。とはいえゼロにはなりません。まずマークアップするという現在の作業順序からは打って変わって、まずは機械に読ませ、足りない部分を補足的にマークアップするという手順になるでしょう。任せられるところは機械に任せ、私たちは本当に大事なことを忘れず、本流に注力できるよう自分を磨きましょう!

以上でっす! 以下は本文に書ききれなかった駄文です。

蛇足コラム:機械のもう一つのメリット

制作コストを削減できることはメリットのひとつですが、使い手の視点に立ってみると、機械を使ってWebサイトを読み取ることの大きなメリットがもう一つあります。

それはWebサイトの構造化品質が平準化されることです。どれだけ下手くそにマークアップされたサイトであっても、作業者によってバラバラにマークアップされたサイトであっても、機械に通すことで一様に構造化されたデータを取り出すことができるということです。これは情報の受け手にとって、使い勝手の面でとてつもなく大きいメリットではないかと思います。

蛇足コラム:機械の精度について

Webサイト認識技術はの精度はどんなものになるでしょうか。これは予想ですが、「どんなUIか」「UIがどんな状態にある」を判別する機能は早期に、しかも高精度で実現すると思います。

これはパターン認識機能を搭載すれば実現できるであろうからです。UIパターンの数は限られている上、インターネット上には適切にマークアップされたUIが山のようにあります。それを学習データとして活用できるはずです。

ゆえに、一番最初にマークアップ作業から追い出されるのはWAI-ARIAです。WAI-ARIAはまさしくUIの役割や状態を記述するための仕様だからです。画像や動画の内容を代替テキストで用意しておくことは、この先もしばらく必要になるでしょう。上述の研究開発の例はあるにせよ、やはり精度はまだまだです。

蛇足コラム:マークアップの放棄で失われるもの

いちおう触れておくと、それは、低レベルな機械からの読み取り容易性です。

マークアップする目的は情報を受け取ってもらうためだと上述しましたが、なぜ情報を受け取ってもらえるようになるのでしょうか? それはより低レベル(低レイヤー)の言語を使って情報構造を表現しているからです。低レベルな言語によって表現された情報は機械から読み取りやすいのです。

マークアップをしないと決めるということは、その情報にアクセスするために、より高レベルでの解釈が可能な仕組みが必要になるということです。私たちが難しい本を読むときに、高い語彙力や教養がないと内容が理解できないことと同じです。

しかし、低レベルな機械からのアクセシビリティを失ってもなお、コストと利便性のコストがそれを上回るだろう、というのが本記事の視点でした。

情報技術の歴史は、隠ぺいと抽象化の歴史であると私は考えます。すでにTCP/IPの通信やjQueryの中身を知る必要がほとんどないのと同様に、HTMLの中身を知る必要が無い未来も必ずやってきます。今でもアセンブラを手書きする人が少数いるように、全くゼロになることなんてないワケですが。


この記事は、Web Accessibility Advent Calendar 2015 の18日目の記事として書かれました。