Skip to content
fandhe-frontend
GitHub

QR Code

QR コード(ISO/IEC 18004 Model 2、byte モード)を表示する unstyled 部品です。外部依存ゼロのエンコーダで文字列からモジュール行列を導出する純粋な変換のみを提供し、符号化対象の文字列自体はマークアップへ出力されません。

Themes 版(fandhe-frontend-pre-styled-ui)はこの構造へ既定 CSS を追加するだけの薄いラッパーであり、CSS は持ちません。スタイル済みの表示例は QR Code を参照してください。

関連 API: fandhe-frontend-headless-ui API

Demo

枠線・余白は docs サイト側のデモ枠であり、fandhe-frontend-headless-ui 自体はスタイルを持ちません。

Features

  • Root/Frame/Pattern/Overlay の 4 anatomy パーツを提供する。開閉・選択のような遷移可能な状態を持たないため状態機械は実装せず、自由関数のみで構成される(`crate::tabs`/`crate::field` と同じ区分)。
  • QR Model 2(ISO/IEC 18004)byte モードの外部依存ゼロエンコーダで `value`/`ecc` から一意にモジュール行列を導出する純粋な変換。符号化対象の `value` 文字列そのものはマークアップへ一切出力されない。
  • `frame`(`svg`)は `aria_label` を指定したときのみ `aria-label` を付与し、未指定時は `role="img"` のみに留める(代替テキストの提供は呼び出し側の責務のままにし、偽の説明文を捏造しない fail-closed な設計)。
  • `pattern`(`path`)の `d` 属性値は暗モジュールの座標から内部生成する文字列で、文字集合は `M`/`h`/`v`/`z`/半角数字/`,` に閉じる。`fill` は付与せず styled 層/呼び出し側 CSS の責務とする。

Anatomy

root
  frame
    pattern
    overlay

API Reference

Arguments

NameTypeDefaultDescription
value&str(必須)符号化対象文字列(`encode` の入力)。マークアップへは一切出力されない。
eccErrorCorrectionLevelErrorCorrectionLevel::L誤り訂正レベル(`L`/`M`/`Q`/`H`、回復率 約 7%〜約 30%)。
quiet_zoneu32DEFAULT_QUIET_ZONE (4)`frame`/`pattern` の静粛帯モジュール数(ISO/IEC 18004 が要求する最小静粛帯)。
aria_labelOption<&str>None`Some` のとき `frame` へ `aria-label` を付与する。`None` のとき `role="img"` のみ(偽の代替テキストを作らない)。

Examples

aria_label を省略した変種

`aria_label` に `None` を渡すと `role="img"` のみが付与され、代替テキストの提供は呼び出し側の責務のまま残ります。

Accessibility

WAI-ARIA

AttributeDescription
role`frame`(`svg`)へ `"img"` を固定付与する。