import { Card, CardContent, CardDescription, CardHeader, CardTitle, ListRow, Swatch, } from "@godxjp/ui/data-display"; import { Text } from "@godxjp/ui/general"; import { Flex, PageContainer } from "@godxjp/ui/layout"; const BRAND = { name: "株式会社山田製作所", primary: "#0071bd", secondary: "#c0392f", }; const CATEGORIES = [ { name: "定例会議", color: "#7c3aed" }, { name: "出張", color: "#0f9d58" }, { name: "締切", color: "#c0392f" }, { name: "予備", color: "#ffffff" }, ]; /** * Swatch — a read-only sample of ONE colour a person chose. * Composed only from real @godxjp/ui components. */ export default function Demo() { return ( ブランドカラー 組織が登録した色は tone ではなく値です。見本に名前を渡すと、見える文字を増やさずに 読み上げられます。 {BRAND.name} {BRAND.primary} {BRAND.name} {BRAND.secondary} 一覧の先頭マークとして 行のラベルが色の意味を言っているので、見本は aria-hidden のままにします。同じことを二度読み上げないためです。最後の「予備」は白で、 白いカードの上でも見本の輪郭が残ることを示します。 {CATEGORIES.map((category) => ( } title={category.name} description={category.color} /> ))} 色の形式は問いません hex でも rgb() でも oklch() でも、CSS の色として有効ならそのまま塗ります。 値はスタイルシートには入らず、要素の上にだけ乗ります。 ); }