{"id":11158,"date":"2026-03-16T16:09:21","date_gmt":"2026-03-16T07:09:21","guid":{"rendered":"https:\/\/rakkokeyword.com\/techo\/?p=11158"},"modified":"2026-03-17T17:26:10","modified_gmt":"2026-03-17T08:26:10","slug":"tool-contrast-accessibility-checker","status":"publish","type":"post","link":"https:\/\/rakkokeyword.com\/techo\/tool-contrast-accessibility-checker\/","title":{"rendered":"\u30b3\u30f3\u30c8\u30e9\u30b9\u30c8\u6bd4 \u30c1\u30a7\u30c3\u30ab\u30fc"},"content":{"rendered":"\n<div id=\"acc-checker-final\" style=\"width: 100%; color: #333; font-family: sans-serif; line-height: 1.6;\">\n    <style>\n        @import url('https:\/\/fonts.googleapis.com\/css2?family=BIZ+UDPGothic:wght@400;700&display=swap');\n\n        #acc-checker-final .acc-section { margin-bottom: 30px; }\n        #acc-checker-final .acc-flex { display: flex; gap: 20px; flex-wrap: wrap; }\n        #acc-checker-final .acc-card { flex: 1; min-width: 300px; }\n        #acc-checker-final p.acc-title { font-weight: bold; margin: 0 0 10px 0; font-size: 16px; border-left: 4px solid #13284B; padding-left: 10px; }\n        #acc-checker-final .acc-input-row { display: flex; align-items: center; gap: 10px; margin-bottom: 15px; }\n        #acc-checker-final input[type=\"text\"] { height: 45px; padding: 0 12px; border: 1px solid #ccc; border-radius: 4px; width: 100px; font-family: monospace; font-size: 16px; }\n        #acc-checker-final input[type=\"color\"] { width: 50px; height: 45px; padding: 0; border: 1px solid #ccc; border-radius: 4px; cursor: pointer; background: none; }\n        #acc-checker-final .acc-btn { height: 45px; padding: 0 20px; background: #13284B; color: #fff; border: none; border-radius: 4px; cursor: pointer; font-size: 14px; font-weight: bold; display: inline-flex; align-items: center; justify-content: center; }\n        #acc-checker-final .acc-btn:hover { opacity: 0.9; }\n        #acc-checker-final .acc-btn-outline { background: #fff; color: #13284B; border: 2px solid #13284B; }\n        \n        #acc-checker-final .acc-result-panel { background: #f0f2f5; padding: 25px; border-radius: 8px; text-align: center; }\n        #acc-checker-final .acc-ratio-num { font-size: 56px; font-weight: 900; color: #13284B; line-height: 1; margin: 10px 0; }\n        #acc-checker-final .acc-badges { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 15px; }\n        #acc-checker-final .acc-badge { padding: 5px 12px; border-radius: 20px; font-size: 12px; font-weight: bold; display: flex; align-items: center; gap: 5px; }\n        #acc-checker-final .acc-pass { background: #28a745; color: #fff; }\n        #acc-checker-final .acc-fail { background: #dc3545; color: #fff; }\n\n        #acc-checker-final .acc-font-switcher { background: #f8f9fa; padding: 15px; border: 1px solid #dee2e6; border-radius: 6px; margin-bottom: 15px; }\n        #acc-checker-final .acc-font-label { font-weight: bold; font-size: 14px; color: #13284B; display: block; margin-bottom: 8px; }\n        #acc-checker-final .acc-font-note { font-size: 12px; color: #6c757d; margin-top: 6px; display: block; line-height: 1.4; }\n\n        #acc-checker-final .acc-preview-container { border: 1px solid #ddd; border-radius: 8px; overflow: hidden; }\n        #acc-checker-final .acc-preview-body { padding: 30px; min-height: 150px; }\n        #acc-checker-final .acc-preview-lg { font-size: 24px; font-weight: bold; margin-bottom: 10px; }\n        #acc-checker-final .acc-preview-sm { font-size: 15px; margin-bottom: 20px; }\n        #acc-checker-final .acc-preview-ui { padding: 10px 25px; border: 2px solid; border-radius: 5px; display: inline-block; font-weight: bold; }\n\n        #acc-checker-final .acc-sim-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; }\n        #acc-checker-final .acc-sim-box { border: 1px solid #eee; border-radius: 4px; overflow: hidden; text-align: center; font-size: 11px; padding-bottom: 5px; }\n        #acc-checker-final .acc-sim-sample { height: 50px; display: flex; align-items: center; justify-content: center; font-weight: bold; font-size: 14px; margin-bottom: 5px; }\n\n        #acc-checker-final .acc-table { width: 100%; border-spacing: 0; margin-top: 10px; font-size: 14px; }\n        #acc-checker-final .acc-table th { background: #f8f9fa; text-align: left; padding: 10px; border-bottom: 2px solid #dee2e6; }\n        #acc-checker-final .acc-table td { padding: 10px; border-bottom: 1px solid #dee2e6; vertical-align: middle; }\n    <\/style>\n\n    <div class=\"acc-section\">\n        <div class=\"acc-flex\">\n            <div class=\"acc-card\">\n                <p class=\"acc-title\">\u6587\u5b57\u8272 (Foreground)<\/p>\n                <div class=\"acc-input-row\">\n                    <input type=\"text\" id=\"fn-fg-hex\" value=\"#333333\" maxlength=\"7\">\n                    <input type=\"color\" id=\"fn-fg-picker\" value=\"#333333\">\n                    <input type=\"range\" id=\"fn-fg-range\" style=\"flex-grow:1\" min=\"0\" max=\"100\" value=\"20\">\n                <\/div>\n            <\/div>\n            <div class=\"acc-card\">\n                <p class=\"acc-title\">\u80cc\u666f\u8272 (Background)<\/p>\n                <div class=\"acc-input-row\">\n                    <input type=\"text\" id=\"fn-bg-hex\" value=\"#FFFFFF\" maxlength=\"7\">\n                    <input type=\"color\" id=\"fn-bg-picker\" value=\"#FFFFFF\">\n                    <input type=\"range\" id=\"fn-bg-range\" style=\"flex-grow:1\" min=\"0\" max=\"100\" value=\"100\">\n                <\/div>\n            <\/div>\n        <\/div>\n        <div style=\"text-align:center; margin-top:10px; display:flex; justify-content:center; gap:10px;\">\n            <button class=\"acc-btn acc-btn-outline\" id=\"fn-swap-btn\">\u21c5 \u8272\u3092\u5165\u308c\u66ff\u3048\u308b<\/button>\n            <button class=\"acc-btn\" id=\"fn-copy-btn\">\u914d\u8272\u306e\u30b3\u30d4\u30fc<\/button>\n        <\/div>\n    <\/div>\n\n    <div class=\"acc-section\">\n        <div class=\"acc-result-panel\">\n            <p style=\"margin:0; font-size:14px; color:#666;\">\u30b3\u30f3\u30c8\u30e9\u30b9\u30c8\u6bd4<\/p>\n            <div class=\"acc-ratio-num\" id=\"fn-ratio-res\">12.63:1<\/div>\n            <div class=\"acc-badges\" id=\"fn-badge-res\"><\/div>\n        <\/div>\n    <\/div>\n\n    <div class=\"acc-section\">\n        <p class=\"acc-title\">\u30a2\u30af\u30bb\u30b7\u30d3\u30ea\u30c6\u30a3\u30fb\u30d7\u30ec\u30d3\u30e5\u30fc<\/p>\n        <div class=\"acc-font-switcher\">\n            <label for=\"fn-font-family\" class=\"acc-font-label\">\u8868\u793a\u30d5\u30a9\u30f3\u30c8\u306e\u9078\u629e<\/label>\n            <select id=\"fn-font-family\" style=\"width:100%; max-width:300px; height:40px; border-radius:4px; border:1px solid #ccc; padding:0 10px;\">\n                <option value=\"sans-serif\">\u6a19\u6e96\u30b5\u30f3\u30bb\u30ea\u30d5 (OS\u6a19\u6e96)<\/option>\n                <option value=\"'BIZ UDPGothic', sans-serif\">BIZ UDPGothic (UD\u30d5\u30a9\u30f3\u30c8)<\/option>\n                <option value=\"serif\">\u30bb\u30ea\u30d5\u4f53 (\u660e\u671d\u7cfb)<\/option>\n            <\/select>\n            <span class=\"acc-font-note\">\u203bUD\u30d5\u30a9\u30f3\u30c8\u306f\u8996\u8a8d\u6027\u304c\u9ad8\u304f\u3001\u6fc1\u70b9\u3084\u6587\u5b57\u306e\u7a7a\u9593\u304c\u5e83\u304f\u8a2d\u8a08\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/span>\n        <\/div>\n        <div class=\"acc-preview-container\">\n            <div class=\"acc-preview-body\" id=\"fn-preview-box\">\n                <div class=\"acc-preview-lg\">\u3071\u3074\u3077\u307a\u307d \u6fc1\u70b9\u306e\u8996\u8a8d\u6027\u30c6\u30b9\u30c8<\/div>\n                <div class=\"acc-preview-sm\">\u672c\u6587\u306e\u8aad\u307f\u3084\u3059\u3055\u3092\u78ba\u8a8d\u3002UD\u30d5\u30a9\u30f3\u30c8\u306f\u6587\u5b57\u306e\u4e2d\uff08\u3075\u3068\u3053\u308d\uff09\u3092\u5e83\u304f\u53d6\u308b\u3053\u3068\u3067\u3001\u4f4e\u30b3\u30f3\u30c8\u30e9\u30b9\u30c8\u6642\u3067\u3082\u6587\u5b57\u306e\u5f62\u3092\u8a8d\u8b58\u3057\u3084\u3059\u304f\u3057\u3066\u3044\u307e\u3059\u3002<\/div>\n                <div class=\"acc-preview-ui\" id=\"fn-preview-ui\">BUTTON \/ UI PART<\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <div class=\"acc-section\">\n        <p class=\"acc-title\">\u8272\u899a\u7279\u6027\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\uff08\u8fd1\u4f3c\uff09<\/p>\n        <div class=\"acc-sim-grid\" id=\"fn-sim-grid\"><\/div>\n    <\/div>\n\n    <div class=\"acc-section\" id=\"fn-suggest-area\" style=\"display:none;\">\n        <p class=\"acc-title\">\u30b3\u30f3\u30c8\u30e9\u30b9\u30c8\u6bd4\u306e\u6539\u5584\u6848<\/p>\n        <div id=\"fn-suggest-content\"><\/div>\n    <\/div>\n<\/div>\n\n<script>\n(function() {\n    const d = document;\n    const fgInput = d.getElementById('fn-fg-hex');\n    const fgPicker = d.getElementById('fn-fg-picker');\n    const fgRange = d.getElementById('fn-fg-range');\n    const bgInput = d.getElementById('fn-bg-hex');\n    const bgPicker = d.getElementById('fn-bg-picker');\n    const bgRange = d.getElementById('fn-bg-range');\n    const ratioOut = d.getElementById('fn-ratio-res');\n    const badgeOut = d.getElementById('fn-badge-res');\n    const previewBox = d.getElementById('fn-preview-box');\n    const previewUi = d.getElementById('fn-preview-ui');\n    const fontSelect = d.getElementById('fn-font-family');\n\n    \/\/ HEX\u306e\u6b63\u898f\u5316\uff08#\u306e\u4ed8\u4e0e\u30013\u6841\u30926\u6841\u3078\u3001\u4e0d\u6b63\u5024\u306e\u30ac\u30fc\u30c9\uff09\n    const normalizeHex = (hex) => {\n        if (!hex) return '#000000';\n        hex = hex.trim().replace('#', '');\n        if (hex.length === 3) hex = hex.split('').map(s => s + s).join('');\n        if (hex.length !== 6 || !\/^[0-9A-F]{6}$\/i.test(hex)) {\n            \/\/ \u4e0d\u6b63\u306a\u5834\u5408\u306f\u5143\u306e\u5024\u3092\u6d3b\u304b\u3059\u304b\u9ed2\u306b\u3059\u308b\u304c\u3001\u3053\u3053\u3067\u306f\u5b89\u5168\u7b56\u3068\u3057\u3066\u9ed2\u3092\u8fd4\u3055\u306a\u3044\u5de5\u592b\n            return hex.length > 0 ? '#' + hex : '#000000'; \n        }\n        return '#' + hex.toUpperCase();\n    };\n\n    const getLuminance = (hex) => {\n        const cleanHex = normalizeHex(hex);\n        let rgb = cleanHex.substring(1).match(\/.{2}\/g).map(x => parseInt(x, 16) \/ 255);\n        rgb = rgb.map(v => v <= 0.03928 ? v \/ 12.92 : Math.pow((v + 0.055) \/ 1.055, 2.4));\n        return 0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2];\n    };\n\n    const rgbToHsl = (r, g, b) => {\n        r \/= 255; g \/= 255; b \/= 255;\n        const max = Math.max(r, g, b), min = Math.min(r, g, b);\n        let h, s, l = (max + min) \/ 2;\n        if (max === min) h = s = 0;\n        else {\n            const d = max - min;\n            s = l > 0.5 ? d \/ (2 - max - min) : d \/ (max + min);\n            if (max === r) h = (g - b) \/ d + (g < b ? 6 : 0);\n            else if (max === g) h = (b - r) \/ d + 2;\n            else h = (r - g) \/ d + 4;\n            h \/= 6;\n        }\n        return [h, s, l];\n    };\n\n    const hslToHex = (h, s, l) => {\n        let r, g, b;\n        const hue2rgb = (p, q, t) => {\n            if(t < 0) t += 1; if(t > 1) t -= 1;\n            if(t < 1\/6) return p + (q - p) * 6 * t;\n            if(t < 1\/2) return q;\n            if(t < 2\/3) return p + (q - p) * (2\/3 - t) * 6;\n            return p;\n        };\n        if(s === 0) r = g = b = l;\n        else {\n            const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n            const p = 2 * l - q;\n            r = hue2rgb(p, q, h + 1\/3);\n            g = hue2rgb(p, q, h);\n            b = hue2rgb(p, q, h - 1\/3);\n        }\n        const toHex = x => Math.round(x * 255).toString(16).padStart(2, '0');\n        return `#${toHex(r)}${toHex(g)}${toHex(b)}`.toUpperCase();\n    };\n\n    const update = () => {\n        const fg = normalizeHex(fgInput.value);\n        const bg = normalizeHex(bgInput.value);\n\n        const lum1 = getLuminance(fg);\n        const lum2 = getLuminance(bg);\n        const ratio = (Math.max(lum1, lum2) + 0.05) \/ (Math.min(lum1, lum2) + 0.05);\n\n        ratioOut.innerText = ratio.toFixed(2) + \":1\";\n        const checks = [{ n: \"\u5c0f\u6587\u5b57 AA\", v: 4.5 }, { n: \"\u5c0f\u6587\u5b57 AAA\", v: 7.0 }, { n: \"\u5927\u6587\u5b57 AA\", v: 3.0 }, { n: \"\u5927\u6587\u5b57 AAA\", v: 4.5 }, { n: \"UI\u30d1\u30fc\u30c4\", v: 3.0 }];\n        badgeOut.innerHTML = checks.map(c => `\n            <div class=\"acc-badge ${ratio >= c.v ? 'acc-pass' : 'acc-fail'}\">\n                ${ratio >= c.v ? '\u25cf' : '\u00d7'} ${c.n}\n            <\/div>\n        `).join('');\n\n        previewBox.style.color = fg;\n        previewBox.style.backgroundColor = bg;\n        previewBox.style.fontFamily = fontSelect.value;\n        previewUi.style.borderColor = fg;\n\n        const sims = [\n            {t:'\u4e00\u822c', f:'none'}, {t:'P\u578b(1\u578b)', f:'sepia(0.3) hue-rotate(-20deg) saturate(1.8)'},\n            {t:'D\u578b(2\u578b)', f:'sepia(0.3) hue-rotate(20deg) saturate(1.8)'}, {t:'T\u578b(3\u578b)', f:'grayscale(1) contrast(1.2)'}\n        ];\n        d.getElementById('fn-sim-grid').innerHTML = sims.map(s => `\n            <div class=\"acc-sim-box\">\n                <div class=\"acc-sim-sample\" style=\"color:${fg}; background:${bg}; filter:${s.f};\">\u3071\u3074\u3077<\/div>\n                ${s.t}\n            <\/div>\n        `).join('');\n\n        const suggestArea = d.getElementById('fn-suggest-area');\n        if (ratio < 4.5) {\n            suggestArea.style.display = 'block';\n            let rgb = fg.substring(1).match(\/.{2}\/g).map(x => parseInt(x, 16));\n            let hsl = rgbToHsl(rgb[0], rgb[1], rgb[2]);\n            let bgLum = getLuminance(bg);\n            let suggestedHex = \"\";\n            for(let i=0; i<=100; i++) {\n                let testL = bgLum > 0.5 ? (1 - i\/100) * hsl[2] : hsl[2] + (1 - hsl[2]) * (i\/100);\n                let testHex = hslToHex(hsl[0], hsl[1], testL);\n                let testRatio = (Math.max(getLuminance(testHex), bgLum) + 0.05) \/ (Math.min(getLuminance(testHex), bgLum) + 0.05);\n                if(testRatio >= 4.5) { suggestedHex = testHex; break; }\n            }\n            d.getElementById('fn-suggest-content').innerHTML = suggestedHex ? `\n                <table class=\"acc-table\">\n                    <tr><th>\u5bfe\u8c61<\/th><th>\u63a8\u5968\u8272<\/th><th>HEX<\/th><th>\u64cd\u4f5c<\/th><\/tr>\n                    <tr><td>\u6587\u5b57\u8272\u3092\u8abf\u6574<\/td><td><div style=\"width:30px;height:20px;background:${suggestedHex};border:1px solid #ccc\"><\/div><\/td><td>${suggestedHex}<\/td>\n                    <td><button class=\"acc-btn\" style=\"height:30px; font-size:12px;\" onclick=\"document.getElementById('fn-fg-hex').value='${suggestedHex}'; document.getElementById('fn-fg-hex').dispatchEvent(new Event('input'));\">\u9069\u7528<\/button><\/td><\/tr>\n                <\/table>` : \"\u9069\u5207\u306a\u8fd1\u4f3c\u8272\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002\";\n        } else {\n            suggestArea.style.display = 'none';\n        }\n    };\n\n    const syncRange = (input, picker, range) => {\n        const updateFromHex = () => {\n            const hex = normalizeHex(input.value);\n            const rgb = hex.substring(1).match(\/.{2}\/g).map(x => parseInt(x, 16));\n            const hsl = rgbToHsl(rgb[0], rgb[1], rgb[2]);\n            range.value = Math.round(hsl[2] * 100);\n            picker.value = hex;\n            update();\n        };\n        input.addEventListener('input', updateFromHex);\n        input.addEventListener('blur', () => { input.value = normalizeHex(input.value); });\n        picker.addEventListener('input', () => { input.value = picker.value.toUpperCase(); updateFromHex(); });\n        range.addEventListener('input', () => {\n            const hex = normalizeHex(input.value);\n            const rgb = hex.substring(1).match(\/.{2}\/g).map(x => parseInt(x, 16));\n            const hsl = rgbToHsl(rgb[0], rgb[1], rgb[2]);\n            const newHex = hslToHex(hsl[0], hsl[1], range.value \/ 100);\n            input.value = newHex;\n            picker.value = newHex;\n            update();\n        });\n    };\n\n    syncRange(fgInput, fgPicker, fgRange);\n    syncRange(bgInput, bgPicker, bgRange);\n\n    d.getElementById('fn-swap-btn').addEventListener('click', () => {\n        \/\/ \u6b63\u898f\u5316\u3057\u3066\u304b\u3089\u5165\u308c\u66ff\u3048\u308b\u3053\u3068\u3067\u30d0\u30b0\u3092\u9632\u6b62\n        const oldFg = normalizeHex(fgInput.value);\n        const oldBg = normalizeHex(bgInput.value);\n\n        fgInput.value = oldBg;\n        bgInput.value = oldFg;\n\n        \/\/ \u30bb\u30c3\u30c8\u3057\u305f\u5f8c\u306b\u305d\u308c\u305e\u308c\u306e\u540c\u671f\u51e6\u7406\u3092\u8d70\u3089\u305b\u308b\n        fgInput.dispatchEvent(new Event('input'));\n        bgInput.dispatchEvent(new Event('input'));\n    });\n\n    d.getElementById('fn-copy-btn').addEventListener('click', () => {\n        const f = normalizeHex(fgInput.value);\n        const b = normalizeHex(bgInput.value);\n        navigator.clipboard.writeText(`\u6587\u5b57: ${f} \/ \u80cc\u666f: ${b} (\u6bd4\u7387 ${ratioOut.innerText})`);\n        alert(\"\u914d\u8272\u60c5\u5831\u3092\u30b3\u30d4\u30fc\u3057\u307e\u3057\u305f\");\n    });\n    fontSelect.addEventListener('change', update);\n    update();\n})();\n<\/script>\n\n\n\n<p>\u3053\u306e\u30c4\u30fc\u30eb\u306f\u3001\u6587\u5b57\u8272\u3068\u80cc\u666f\u8272\u306e\u7d44\u307f\u5408\u308f\u305b\u304b\u3089\u300c\u30b3\u30f3\u30c8\u30e9\u30b9\u30c8\u6bd4\u300d\u3092\u5373\u5ea7\u306b\u7b97\u51fa\u3057\u3001Web\u30a2\u30af\u30bb\u30b7\u30d3\u30ea\u30c6\u30a3\u306e\u56fd\u969b\u57fa\u6e96\uff08WCAG\uff09\u306b\u9069\u5408\u3057\u3066\u3044\u308b\u304b\u3092\u5224\u5b9a\u3059\u308b\u30b7\u30df\u30e5\u30ec\u30fc\u30bf\u30fc\u3067\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-0\">\u3053\u306e\u30c4\u30fc\u30eb\u3067\u3067\u304d\u308b\u3053\u3068<\/h2>\n\n\n\n<p>\u672c\u30c4\u30fc\u30eb\u306f\u3001\u5358\u306a\u308b\u8272\u306e\u6570\u5024\u8a08\u7b97\u306b\u3068\u3069\u307e\u3089\u305a\u3001\u5b9f\u52d9\u3067\u5f79\u7acb\u3064\u4ee5\u4e0b\u306e\u6a5f\u80fd\u3092\u5099\u3048\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30fb\u30b3\u30f3\u30c8\u30e9\u30b9\u30c8\u5224\u5b9a:<\/strong> \u80cc\u666f\u8272\u3068\u6587\u5b57\u8272\u306eHEX\u5024\uff08#000000\u5f62\u5f0f\uff09\u3092\u5165\u529b\u3059\u308b\u3060\u3051\u3067\u3001\u77ac\u6642\u306b\u57fa\u6e96\uff08AA\/AAA\uff09\u3078\u306e\u9069\u5408\u5ea6\u3092\u8868\u793a\u3057\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u30b9\u30e9\u30a4\u30c0\u30fc\u306b\u3088\u308b\u76f4\u611f\u8abf\u6574:<\/strong> \u660e\u5ea6\u30b9\u30e9\u30a4\u30c0\u30fc\u3092\u52d5\u304b\u3059\u3053\u3068\u3067\u3001\u8272\u5473\u3092\u7dad\u6301\u3057\u305f\u307e\u307e\u5408\u683c\u30e9\u30a4\u30f3\u307e\u3067\u660e\u308b\u3055\u30fb\u6697\u3055\u3092\u5fae\u8abf\u6574\u3067\u304d\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>UD\u30d5\u30a9\u30f3\u30c8\u30fb\u30d7\u30ec\u30d3\u30e5\u30fc:<\/strong> \u6a19\u6e96\u30d5\u30a9\u30f3\u30c8\u3060\u3051\u3067\u306a\u304f\u3001\u8996\u8a8d\u6027\u306e\u9ad8\u3044\u300cUD\u30d5\u30a9\u30f3\u30c8\uff08BIZ UDPGothic\uff09\u300d\u3067\u306e\u898b\u3048\u65b9\u3092\u5207\u308a\u66ff\u3048\u3066\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u8272\u899a\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3:<\/strong> \u4e00\u822c\u7684\u306a\u898b\u3048\u65b9\u3060\u3051\u3067\u306a\u304f\u3001P\u578b\u30fbD\u578b\u30fbT\u578b\u3068\u3044\u3063\u305f\u8272\u899a\u7279\u6027\u3092\u6301\u3064\u30e6\u30fc\u30b6\u30fc\u306b\u3069\u306e\u3088\u3046\u306b\u8272\u304c\u6620\u308b\u304b\u3092\u8fd1\u4f3c\u8868\u793a\u3057\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>AI\u6539\u5584\u6848\u306e\u81ea\u52d5\u63d0\u793a:<\/strong> \u30b3\u30f3\u30c8\u30e9\u30b9\u30c8\u6bd4\u304c\u4e0d\u8db3\u3057\u3066\u3044\u308b\u5834\u5408\u3001\u5408\u683c\u57fa\u6e96\u3092\u6e80\u305f\u3059\u6700\u3082\u8fd1\u3044\u8272\u3092\u30b7\u30b9\u30c6\u30e0\u304c\u81ea\u52d5\u3067\u63d0\u6848\u3057\u307e\u3059\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-1\">\u3053\u306e\u30c4\u30fc\u30eb\u3067\u53d6\u5f97\u3059\u308b\u60c5\u5831\u306e\u57fa\u790e\u77e5\u8b58<\/h2>\n\n\n\n<p>\u30c4\u30fc\u30eb\u3092\u3088\u308a\u6d3b\u7528\u3059\u308b\u305f\u3081\u306b\u3001\u4ee5\u4e0b\u306e\u5c02\u9580\u7528\u8a9e\u3092\u628a\u63e1\u3057\u3066\u304a\u304f\u3068\u30b9\u30e0\u30fc\u30ba\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-2\">\u30b3\u30f3\u30c8\u30e9\u30b9\u30c8\u6bd4\u3068\u306f<\/h3>\n\n\n\n<p>\u753b\u9762\u4e0a\u306e\u300c\u660e\u308b\u3055\u306e\u5dee\u300d\u3092\u6570\u5024\u5316\u3057\u305f\u3082\u306e\u3067\u3059\u30021:1\uff08\u540c\u8272\uff09\u304b\u308921:1\uff08\u767d\u3068\u9ed2\uff09\u306e\u7bc4\u56f2\u3067\u8868\u3055\u308c\u3001\u6570\u5024\u304c\u5927\u304d\u3044\u307b\u3069\u6587\u5b57\u304c\u306f\u3063\u304d\u308a\u8aad\u307f\u3084\u3059\u304f\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-3\">WCAG\uff08Web Content Accessibility Guidelines\uff09<\/h3>\n\n\n\n<p>Web\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u3088\u308a\u4f7f\u3044\u3084\u3059\u304f\u3059\u308b\u305f\u3081\u306e\u56fd\u969b\u7684\u306a\u30ac\u30a4\u30c9\u30e9\u30a4\u30f3\u3067\u3059\u3002\u4ee5\u4e0b\u306e\u9054\u6210\u57fa\u6e96\u304c\u4e00\u822c\u7684\u306b\u76ee\u6a19\u3068\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>AA\uff08\u30ec\u30d9\u30eb2\uff09:<\/strong> \u4e00\u822c\u7684\u306aWeb\u30b5\u30a4\u30c8\u3067\u63a8\u5968\u3055\u308c\u308b\u57fa\u6e96\u3002\u5c0f\u6587\u5b57\u30674.5:1\u4ee5\u4e0a\u304c\u5fc5\u8981\u3067\u3059\u3002<\/li>\n\n\n\n<li><strong>AAA\uff08\u30ec\u30d9\u30eb3\uff09:<\/strong> \u3088\u308a\u53b3\u683c\u306a\u57fa\u6e96\u3002\u5c0f\u6587\u5b57\u30677.0:1\u4ee5\u4e0a\u304c\u6c42\u3081\u3089\u308c\u307e\u3059\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-4\">UD\u30d5\u30a9\u30f3\u30c8\u3068\u306f<\/h3>\n\n\n\n<p>\u300c\u30e6\u30cb\u30d0\u30fc\u30b5\u30eb\u30c7\u30b6\u30a4\u30f3\u30d5\u30a9\u30f3\u30c8\u300d\u306e\u7565\u3067\u3059\u3002\u6fc1\u70b9\uff08\u300c\u3071\u300d\u3068\u300c\u3070\u300d\u306a\u3069\uff09\u306e\u5224\u5225\u304c\u3057\u3084\u3059\u304f\u3001\u6587\u5b57\u306e\u4e2d\u306e\u7a7a\u9593\u3092\u5e83\u304f\u53d6\u308b\u3053\u3068\u3067\u3001\u4f4e\u30b3\u30f3\u30c8\u30e9\u30b9\u30c8\u306a\u74b0\u5883\u3067\u3082\u8aa4\u8aad\u3092\u9632\u3050\u8a2d\u8a08\u304c\u306a\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-5\">\u3053\u306e\u30c4\u30fc\u30eb\u304c\u5f79\u7acb\u3064\u3068\u304d\u306f\u3069\u3093\u306a\u3068\u304d\uff1f<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Web\u30b5\u30a4\u30c8\u306e\u30c7\u30b6\u30a4\u30f3\u5236\u4f5c\u6642:<\/strong> \u914d\u8272\u3092\u6c7a\u3081\u308b\u6bb5\u968e\u3067\u3001\u4f7f\u3044\u3084\u3059\u3055\u3068\u7f8e\u3057\u3055\u3092\u4e21\u7acb\u3055\u305b\u305f\u3044\u3068\u304d\u3002<\/li>\n\n\n\n<li><strong>\u30b5\u30a4\u30c8\u306e\u30ea\u30cb\u30e5\u30fc\u30a2\u30eb\u30fb\u6539\u4fee:<\/strong> \u65e2\u5b58\u30b5\u30a4\u30c8\u306e\u30a2\u30af\u30bb\u30b7\u30d3\u30ea\u30c6\u30a3\u8a3a\u65ad\u3092\u884c\u3044\u3001\u5177\u4f53\u7684\u306a\u6539\u5584\u6570\u5024\u3092\u7b97\u51fa\u3057\u305f\u3044\u3068\u304d\u3002<\/li>\n\n\n\n<li><strong>\u30d0\u30ca\u30fc\u3084\u8cc7\u6599\u306e\u4f5c\u6210:<\/strong> \u9ad8\u9f62\u8005\u3084\u8272\u899a\u7279\u6027\u306e\u3042\u308b\u65b9\u3092\u542b\u3081\u3001\u8ab0\u306b\u3067\u3082\u4f1d\u308f\u308b\u8cc7\u6599\u3092\u4f5c\u308a\u305f\u3044\u3068\u304d\u3002<\/li>\n\n\n\n<li><strong>\u30c7\u30b6\u30a4\u30f3\u306e\u6839\u62e0\u8aac\u660e:<\/strong> \u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306b\u5bfe\u3057\u300c\u306a\u305c\u3053\u306e\u8272\u306a\u306e\u304b\u300d\u3092\u30a2\u30af\u30bb\u30b7\u30d3\u30ea\u30c6\u30a3\u57fa\u6e96\u3068\u3044\u3046\u5ba2\u89b3\u7684\u30c7\u30fc\u30bf\u3067\u8aac\u660e\u3057\u305f\u3044\u3068\u304d\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-6\">\u3088\u304f\u3042\u308b\u8cea\u554f\uff08FAQ\uff09<\/h2>\n\n\n\n<p><strong>Q. \u3069\u306e\u6570\u5024\u3092\u76ee\u6a19\u306b\u3059\u308c\u3070\u3088\u3044\u3067\u3059\u304b\uff1f<\/strong> <\/p>\n\n\n\n<p>A. \u307e\u305a\u306f\u300c\u5c0f\u6587\u5b57 AA\uff084.5:1\uff09\u300d\u306e\u5408\u683c\u3092\u76ee\u6307\u3059\u306e\u304c\u4e00\u822c\u7684\u3067\u3059\u3002\u91cd\u8981\u306a\u901a\u77e5\u3084\u9ad8\u9f62\u8005\u5411\u3051\u30b5\u30a4\u30c8\u306e\u5834\u5408\u306f\u300cAAA\uff087.0:1\uff09\u300d\u3092\u63a8\u5968\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p><strong>Q. \u80cc\u666f\u306b\u753b\u50cf\u304c\u3042\u308b\u5834\u5408\u306f\u3069\u3046\u3059\u308c\u3070\u3044\u3044\u3067\u3059\u304b\uff1f<\/strong> <\/p>\n\n\n\n<p>A. \u753b\u50cf\u306e\u4e2d\u3067\u6700\u3082\u6587\u5b57\u3068\u8272\u304c\u8fd1\u3044\u90e8\u5206\uff08\u6700\u3082\u30b3\u30f3\u30c8\u30e9\u30b9\u30c8\u304c\u4f4e\u304f\u306a\u308b\u7b87\u6240\uff09\u306e\u8272\u3092\u30d4\u30c3\u30af\u30a2\u30c3\u30d7\u3057\u3066\u5165\u529b\u3057\u3001\u6700\u60aa\u306e\u6761\u4ef6\u4e0b\u3067\u3082\u8aad\u307f\u53d6\u308c\u308b\u304b\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6587\u5b57\u8272 (Foreground) \u80cc\u666f\u8272 (Background) \u21c5 \u8272\u3092\u5165\u308c\u66ff\u3048\u308b \u914d\u8272\u306e\u30b3\u30d4\u30fc \u30b3\u30f3\u30c8\u30e9\u30b9\u30c8\u6bd4 12.63:1 \u30a2\u30af\u30bb\u30b7\u30d3\u30ea\u30c6\u30a3\u30fb\u30d7\u30ec\u30d3\u30e5\u30fc \u8868\u793a\u30d5\u30a9\u30f3\u30c8\u306e\u9078\u629e \u6a19\u6e96\u30b5\u30f3\u30bb\u30ea\u30d5 (OS\u6a19\u6e96)BIZ  &#8230; <\/p>\n","protected":false},"author":4,"featured_media":11328,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,39],"tags":[],"class_list":{"0":"post-11158","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-tool","8":"category-life","9":"entry"},"_links":{"self":[{"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/posts\/11158","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/comments?post=11158"}],"version-history":[{"count":12,"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/posts\/11158\/revisions"}],"predecessor-version":[{"id":11392,"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/posts\/11158\/revisions\/11392"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/media\/11328"}],"wp:attachment":[{"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/media?parent=11158"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/categories?post=11158"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/tags?post=11158"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}