HN 日本語サマリー

← 一覧へ戻る
プログラミング

GUIは完全にキーボード駆動であるべき

GUIs should be fully keyboard-driven (ckardaris.com)

331 pointsby ckardaris183 コメント

要約

この記事は、GUIアプリケーションがキーボード駆動であるべき理由を論じています。TUI(テキストベースのユーザーインターフェース)がキーボード駆動であるという理由だけで好まれる傾向がありますが、GUIも同様に、あるいはそれ以上にキーボード駆動にすることが可能であり、ユーザーエクスペリエンスを向上させると主張しています。これは実現可能性の問題ではなく、開発者の意欲の問題であると結論づけています。

全文翻訳

先週、Hacker Newsで、アプリケーション開発者はターミナルユーザーインターフェース(TUI)をやめて、代わりにグラフィカルユーザーインターフェース(GUI)に注力すべきだと提唱する投稿を見かけました。その投稿はHNのフロントページに掲載され、コメント欄で活発な議論を巻き起こしました。私は、議論の両方に一理あると思います。一方では、投稿者のGUI肯定論には理解できます。理論上、GUIアプリケーションフレームワークの機能はTUIのそれのスーパーセットであるため、GUIが好まれるべきです。他方で、ヘビーなターミナルユーザーとして、私は「ターミナルに留まったまま」私のニーズをすべて満たしてくれるTUIを高く評価しています。しかし、私はTUIを支持する繰り返し出てくる議論に異議を唱えたいと思います。それは私の意見ではしっかりした基盤を持っていません。様々なコメンターの言葉を借りれば、「TUIはキーボード駆動であるため好まれるべきだ」ということです。無作為にGUIとTUIアプリケーションを選んだ場合、後者の方が完全にキーボード駆動である可能性が高いというのは事実ですが、これはTUIを開発する方に傾くものではありません。それは、多くのGUIアプリケーションにおけるキーボードナビゲーションの不備を浮き彫りにするだけです。GUIがTUIのように、あるいはそれ以上に、完全にキーボード駆動になることを妨げるものは何もありません。実際、多くのGUIフレームワークのアプリケーションガイドラインでは、アプリケーションの全機能をカバーするキーボード駆動ナビゲーションのサポートを提供するように、GUIアプリケーション開発者に明示的に奨励しています。例えば、GNOME Human Interface Guidelinesでは、ポインティングデバイスで全ての操作が可能であるべきのと同様に、キーボードでも全ての操作が可能であるべきであり、キーボードを使ってユーザーインターフェースのあらゆる部分を移動し、操作できるべきだと述べています。これはユーザーとしての私に響きます。直感的かつ予測可能に、キーボードだけでGUIアプリケーション内をナビゲートできることは、代替手段よりもそれを選ぶインセンティブを私に与えてくれます。それを知っているので、開発者としての立場から、私のアプリケーションがキーボードフレンドリーであることを確認しなければなりません。私の初めてのGUIアプリケーションであるKlisiでは、利用可能な全機能に対応するキーボードショートカットを実装するために時間を投資しました。キーボードナビゲーションは、ほとんどの場合、達成するのはそれほど難しくなく、全体的に優れたユーザーエクスペリエンスをもたらします。それは実現可能性の問題ではなく、アプリケーション開発者側の意欲の問題です。教訓はシンプルです。あなたのアプリケーションが提供するユーザーエクスペリエンスを妥協しないでください。可能な限り直感的にすることを目指してください。そのために、完全なキーボードナビゲーションを可能にすることを無視すべきではありません。