ニュース
「Edge」にWebフォームのテキストをAIがその場で書き換える機能導入 ~入力機能を改良
「Windows Ink」対応でデジタルペンによる直接入力も可能
2024年4月25日 15:04
米Microsoftは4月23日(現地時間)、デスクトップ向け「Microsoft Edge」におけるテキスト編集の改善を発表した。
Webにおけるテキスト入力はHTMLの「input」要素と「textarea」要素を基本に、よりリッチなテキスト入力キャプチャーが必要であれば「contenteditable」要素を組み合わせて実現されている。しかし、これでは機能が足りなかったり、トリッキーな実装を強いられることもある。そこで、最新の「Edge」では以下の改善が盛り込まれている。
AIでテキストを書き換える
「Edge 124」では「Copilot」を用いたAIによるテキスト編集機能がテキストエリア(textarea)内でインライン利用できるようになった。わざわざサイドパネルを開かなくても、テキストエリアで編集可能なテキストを選択すると「Copilot」アイコンが表示され、クリックすることでテキストの書き換え例をパネルに表示してくれる。書き換えを生成する際は、トーン(丁寧、カジュアルなど)や形式(メール、箇条書き、報告など)、文章の長さなどを調整可能だ。
ただし、編集可能なテキストエリアすべてでこの機能が必要となるわけではないだろう。そのため、この機能を抑止する新しいHTML属性「writingsuggestions」も併せて導入されている(後述)。
Webフォームへ直接デジタルペンで書き込む
デジタルペンの付属するタブレットPCならば、わざわざキーボードを接続しなくても、ペンで直接文字入力ができると便利だろう。「Edge」ならば「textarea」要素、「input」要素、「contenteditable」属性を持つ要素であれば、「Windows Ink」によるペン入力が可能。アドレスバーなどのブラウザー部品でも利用できる。
「Windows Ink」がサポートされた環境では、以下の入力が可能だ。
- 入力フィールドの中やその近くにペンで書き込んでテキストを入力
- 単語を塗りつぶしてテキストを削除
- テキストに縦線を引いてスペースを追加または削除
- 水平線を描くことで改行を追加
もしこの機能が不要であれば、設定ページ(edge://settings/content/HandwritingToText)で無効化できる。
高度なテキスト編集面をサポートするWebアプリの構築
伝統的なWeb入力の仕組みはテキストの入力ロジックとレンダリングロジックが不可分となっており、高度なテキストエディターを作成しようと思うと、「contenteditable」属性を持つ隠し要素を作成して入力をキャプチャーし、それを別の要素にレンダリングするといった工夫が必要になることがある。
こうした問題を解決するため「Chromium」では「EditContext API」を提供し、カスタムWebテキストエディターを作成できるようになっている。Windows環境ならば、前述の「Windows Ink」も利用可能だ。
クリップボードアクセスAPIの改善
テキストを編集するWebアプリケーションではしばしば、コンテンツをコピー&ペースト(貼り付け)する際に問題が発生する。テキスト装飾を維持したいのに途中で失われたり、さまざまな形式に対応しようとして逆にクリップボードのペイロード(格納されているデータ)が必要以上に複雑になることもある。
そこで、「navigator.clipboard.read()」メソッドに「unsanitized」オプションが導入された。これにより、Webブラウザー側で勝手にデータを無毒化(サニタイズ)するのではなく、コピー&ペーストされた生のデータを開発者側で扱えるようになった。
このAPIはWeb版の「Excel」などですでに役立てられており、コピー&ペーストに関わるさまざまな問題が解決されているとのこと。開発チームはこのAPIを「Chromium」に提供し、「Edge 121」以降で提供している。「Chromium」ベースであれば、他のWebブラウザーでも利用できる。
サポートされているクリップボード形式の検出
「Clipboard API」を用いてWebブラウザーからOSのクリップボードへデータを書き込む際、従来はWeb開発者はそのデータがOSでサポートされているかどうかを知るすべがなかった。そのため、開発者はクリップボードへデータを書き込むたびに、それが成功したかどうかをチェックする必要がある。これはコードが複雑になるばかりではなく、CPUリソースを不必要に消費してしまうことにもつながる。
そこで、「ClipboardItem」インターフェイスに「supports()」という新しい静的メソッドが追加され、データを書き込む前にそれがサポートされているかどうかをチェックできるようになった。このメソッドは「Edge 122」以降で利用可能で、他の「Chromium」系Webブラウザーにも対応する。
テキスト予測機能の制御
前述の「Copilot」機能のように、テキスト予測機能(サジェスト、入力補完)やインラインテキスト作成機能でユーザーの生産性を高めようというWebブラウザーはこれから多くなっていくだろう。しかし、そうした機能がかえって邪魔になることもあるかもしれない。
そこで、「Edge 124」からは「writingsuggestions」という新しいHTML属性が導入された。この新しい属性を利用すれば、開発者はWebブラウザーのテキスト予測機能を無効化できる。
この属性は「Chromium」コードベースの一部となっており、すべての「Chromium」ベースのWebブラウザーで利用できる。もっとも、テキスト予測・書き換え機能をもつWebブラウザーは現状、「Edge」だけであるため、他のブラウザーでは今のところ効果はない。