GH GambleHub

マイクロインタラクションとフィードバック

1)マイクロインタラクションとは

マイクロインタラクションは、システムがユーザーを聞いたことがあり、結果に向かって動いていることを確認する短い信号↔応答サイクルです。

クラシック4:

1.トリガー(クリック、スワイプ、フォーカス、システムイベント)。

2.ルール(どのような変更と方法)。

3.Fidbeck(ビジュアル/サウンド/触覚/テキスト)。

4.ループ/メタルール(繰り返し、有効期限、元に戻す/やり直し)。

目標:タスクから注意をそらすことなく、不確実性と認知負荷を低減する。

2)設計原則

Meaning>エフェクト。この効果は「、何が起こったのか」と「次のこと」を説明します。
瞬時性。最初の応答≤ 100ms(ボタン/スイッチ)です。
あいまいさ。識別可能な状態:hover/focus/pressed/disabled/loading。
貯蓄。最低の特性、短い期間、花火なし。
一貫性。同じ動作が同じ信号です。
アクセシビリティ。Fidbekはスクリーンリーダーによって見られ、聞かれ、読まれる;動き/音に代わるものがあります。

3)タイミングおよびカーブ

ホバー/フォーカス: 120-180ms

プレス/トグル: 80-120

トースト/ツールチップ: 入力180-240ms、出力120-160ms

インライン検証: フィールドフォーカスの損失後100ミリ秒を≤

デフォルトの曲線は'cubic-bezier (0。2, 0, 0.2, 1)`;pressed-accelerated 'cubic-bezier (0。4, 0, 1, 1)`.

4)マイクロインターラクションカタログ

4.1ボタンとスイッチ

即座の応答:ネットワークによって照会されたとき視覚的なかちりと言う音/インデント+ビジー状態。
楽観的なアップデート:UIをすぐに変更し、エラーにロールバックします(元に戻す)。
ディベートをダブルクリック:/timeoutに答えるまでの繰り返しをブロックします。

4.2フォームのインライン検証

ぼかしフィールドの検証;メッセージは簡潔で建設的です(「少なくとも8文字」)。
ステータスアイコン+色+テキスト(1つの色ではありません)。
パスワードの場合-「強さ」の瞬時のインジケータ(入力に干渉しません)。

4.3トースト/バナー/スナック

ノンブロッキングの確認に使用します。
デュレーション2-5 s、ホバー/フォーカスで一時停止、必要に応じて元に戻すボタン。
重要なコンテンツやCTAをシャットダウンしないでください。

4.4進捗状況とスケルトン

プロセスの長さがわかっている場合、プログレスバー;そうでない場合は、スピナーの代わりにスケルトン。
レイアウトがジャンプしない:修正。ブロックの高さ。

4.5バッジ/カウンター

ディジットコントラスト≥ 4。5:1;切り捨て'99+'で最大99/999。
増分アニメーション-「震える」レイアウトなしで、40〜60ミリ秒のバッチの短いステップ。

4.6ツールチップ/ヘルプ

ホバー/焦点による出現;'aria-describedby'によるアクセシビリティ。
重要な情報をツールチップでのみ禁止します。

5)エラー、空の状態、元に戻す

エラー:正直なテキスト、理由とアクションの説明(「繰り返し」、「カードの変更」)。
空の状態:それが何であり、どのように開始するか;イラストのミュート、テキストコントラストAA/AAA。
元に戻すウィンドウ:リバーシブルアクションの5-10 s(削除、弾丸前のベットのキャンセル)。

6)マルチモーダルフィードバック

サウンド:静か、短い、イベントタイプごとに1パターン(成功/エラー/注意)。設定をオフにします。
Vibro/haptika:容易な出版物の応答/成功;'prefers-reduced-motion'とシステムの制限を尊重します。
ビジュアル:'transform/opacity'のみで、配列に重いぼかし/影はありません。

7)空室状況(A11y)

キーボードの':focus-visible';ぼかしのないフォーカスリング。
スクリーンセーバー:'role=「status「/」alert 」'for toast;リビングリージョン'aria-live=「丁寧/アサーティブ」'。

音/動きに代わるもの。'prefers-reduced-motion: reduce'

テキストとアイコンのコントラスト-WCAG(通常≥ 4。5:1).

8)パフォーマンス

100ms ≤応答:ネットワークへの視覚的な応答。
'transform/opacity'をアニメーション化します。複数の要素で'height/left/box-shadow'を避けます。
ネットワーク効果-プリフェッチと楽観;レトライは馬鹿だ。

9)マイクロインターラクショントークン(設計システム)

json
{
"micro": {
"duration": { "hover": 160, "focus": 160, "press": 90, "toastIn": 220, "toastOut": 140 },
"easing":  { "std": "cubic-bezier(0. 2,0,0. 2,1)", "acc": "cubic-bezier(0. 4,0,1,1)" },
"toast":  { "timeoutMs": 3500, "pauseOnHover": true },
"badge":  { "max": 99, "emphasisStepMs": 50 }
}
}

10)実装スニペット

ホバーと元に戻す一時停止トースト:
html
<div id="toast" role="status" aria-live="polite" hidden></div>
<script>
const toast = (msg, {undo, timeout=3500}={})=>{
const el = document. getElementById('toast');
el. innerHTML = undo? '$ {msg} <button> Undo </button>': msg;
el. hidden = false;
let t = setTimeout(close, timeout);
el. onmouseenter = () => clearTimeout(t);
el. onmouseleave = () => t = setTimeout(close, timeout);
if (undo) el. querySelector('button'). onclick = ()=>{ undo(); close(); };
function close(){ el. hidden = true; el. innerHTML=''; }
};
</script>
ぼかしのインライン検証:
js const rules = { password: v => v.length>=8         "Minimum 8 characters"};
document. querySelectorAll('[data-validate]'). forEach(i=>{
i.addEventListener('blur', e=>{
const rule = rules[e. target. name]; if (!rule) return;
const ok = rule(e. target. value);
e. target. dataset. state = ok===true? 'ok': 'err';
e. target. nextElementSibling. textContent = ok===true? '': ok;
});
});
Haptica/vibro(フォールバック):
js export const haptic = type => {
if (!('vibrate' in navigator)) return;
if (type==='success') navigator. vibrate(10);
if (type==='error') navigator. vibrate([20,40,20]);
};
「安い」効果のためのCSS:
css
.button{ transition: transform. 09s cubic-bezier(.4,0,1,1), box-shadow. 16s cubic-bezier(.2,0,.2,1); }
.button:active{ transform: scale(.98); }
.input[data-state="err"]{ outline: 2px solid var(--role-danger); }
.sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
@media (prefers-reduced-motion: reduce){ { animation:none! important; transition-duration:.01ms! important; } }

11)指標と品質管理

INP p75 <200ミリ秒、Long Tasksシェア<5%。

最初のユーザーフィードバックklik→vizualnyy ≤ 100ms

ロールバックの楽観的行動の割合<3%(そうでなければ-不信感)。
UX調査:エラーメッセージの明確さ、確認の可視性。

QAチェックリスト

  • 各インタラクティブには'pressed/busy/disabled'があります。
  • エラーにはテキストとアクション(リトライ/元に戻す)が伴います。
  • トーストはSRで利用可能であり、キーコンテンツは重複しません。
  • インライン検証は入力を妨げません。メッセージは特定のものです。
  • 'prefers-reduced-motion'サポート;音/振動がオフになります。
  • レイアウトとストロボのジャンプはありません。'transform/opacity'のアニメーション。

12) iGamingの詳細

ベット/購入: インスタント'pressed→busy'、トースト「Accepted」 Undoで(規制が許可されている場合)、idempotentキー;遅延>1秒-「確認を待っています……。」

スピン/明らかにして下さい:短い出版物のフィードバック、無限の点滅なしで滑らかな開始/停止;win-500ミリ秒≤バースト+読み取り可能なテキスト(AAA)。
Live係数:バッチによる更新、「ジャンプ」なしの視覚的な差分(矢印/厚さ)。
支払い/結論:ステップバイステップの進捗状況(KUS→Proverka→Vyplata)、拒否理由の透明なテキスト。
責任あるプレー:気を散らす効果のない通知。より高いコントラスト、明示的な「制限設定」CTA。

13)アンチパターン

クリックへの応答を表示する前に、ネットワーク応答を待ちます。
「形状のない色」:状態は日陰でのみ異なります。
無限の脈動/点滅、スイッチなしでシャープな音。
重要なコンテンツがキーボードからアクセスできないツールチップ。
void> 1-2 sのスピナーで進行/スケルトンがありません。
何百もの要素の薄い影/ぼやけ(弱いデバイスの遅延)。

14)設計システムにおけるドキュメンテーション

「マイクロトークン」:「持続時間/イージング」、トースト/バッジ/バリデータのプリセット。
「パターン」:ボタン、図形、トースト、進行状況、インラインエラー、元に戻す。
「A11y&Motion」: SR/HC/減速モーションのルール。ARIAの例。
「Do/Don 't」:タイミングの短いクリップ、INP/Firstフィードバック番号。

概要

マイクロインタラクションは自信の言語です。≤ 100msで応答を与え、理解可能な状態をキャプチャし、安全なロールバックで楽観的に使用し、色だけに頼らず、光の特性を活性化します。可用性とパフォーマンスを尊重する-製品は、特にリアルタイムシナリオで、生存しており、正直で信頼性が高いと感じます。

Contact

お問い合わせ

ご質問やサポートが必要な場合はお気軽にご連絡ください。いつでもお手伝いします!

統合を開始

Email は 必須。Telegram または WhatsApp は 任意

お名前 任意
Email 任意
件名 任意
メッセージ 任意
Telegram 任意
@
Telegram を入力いただいた場合、Email に加えてそちらにもご連絡します。
WhatsApp 任意
形式:+国番号と電話番号(例:+81XXXXXXXXX)。

ボタンを押すことで、データ処理に同意したものとみなされます。