web-dev-qa-db-ja.com

ボタンをアンカーのようにスタイルするのは間違っていますか?

現在、ユーザーのアクションによって開示される通知をアプリケーションフローに追加しています。この通知は、フロー内の特定の状況に固有のものであり、いかなる場合にも適用されないという考えです(そのため、クリックで表示されます)。

現在私はそのために<button>要素を使用しています。これはリンクとしてスタイル設定されています。境界線なし、背景色、下線付きテキスト。これは、残りのアプリケーション(私の前任者が作成したもの)と一致しています。これがどのように見えるかのサンプルは、私の Codepen here で見ることができます。

しかし、これがまったく正しいかどうか疑問に思っていますか?ボタンのアクションを持つ要素のハイパーリンクの視覚スタイルを実際に使用しています。アプリケーションでもハイパーリンクが使用されるため(たとえば、新しいタブで開かれているPDFドキュメントにリンクするため))、UXが混乱する可能性があります。

一方、 チェックボックスラベルのスタイルに関するこの質問 で示されているように、要素がクリック可能であるという引数を作成できます。これにより、このスタイルのスタイルがサポートされます。

これは正しい方法ですか、それとも混乱するux要素であると記載されていますか?

3
Lodybo

ユーザーは基礎となる実装を気にしません。要素がlinkbutton、またはgerbilであるかどうかは関係ありません。ハイパーテキストを読み込んだり、スクリプトを実行したり、小さなげっ歯類をチューブに送り込んだりできます。彼らは気にしない。彼らが知っていて気にするのは、彼らが見るものだけです。リンクのように見える場合は、リンクとして機能するように見えるはずです。ボタンのように見える場合は、ボタンとして機能するように見えます。

したがって、リンクリンクのように機能するである限り、リンクのようなボタンスタイルの問題は発生しません。それは単にクリックできるというだけではありません。つまり、ナビゲートするか、少なくともコンテンツを何らかの方法でロードします。お知らせを表示する目的で、あなたのデザインは大丈夫だと思います。

同じことが他の方法にも当てはまります。リンクが基になるデータに対してアクションを実行する場合(ショッピングカートからアイテムを削除するなど)、ボタンのようにスタイルを設定する必要があります。必要に応じて画像を使用してください。

2