high-contrast – skill Thiết kế & UI cho agent AI
Hướng dẫn triển khai Web và App cho High Contrast Design. Kích hoạt khi người dùng muốn thiết kế ưu tiên khả năng tiếp cận, độ đọc cực cao hoặc hiệu ứng thị giác mạnh.
Cài skill high-contrast bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/high-contrast-04697.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /high-contrast – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/high-contrast-04697.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $high-contrast – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/high-contrast-04697.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /high-contrast – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/high-contrast-04697.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /high-contrast – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
High Contrast Design
> "Stark visual contrast. Accessibility still requires semantic, interaction and user testing."
When to Use
Use this sub-style when the user's request matches the aesthetic described above. This is a child reference of the design-it skill and is not meant to be triggered directly.
Core Principles
1. Measure Relevant Contrast: WCAG AAA text contrast is at least 7:1 for normal text and 4.5:1 for large text. Non-text controls have distinct criteria; high contrast alone does not establish AAA conformance.
2. Clear Boundaries: Interactive elements have highly visible borders and focus states.
3. No Ambiguity: Avoid subtle greys, low-opacity text, or purely decorative elements that distract from the core content.
Visual DNA
- Colors: Industrial Chic (Black and White) or Modern Editorial. Often uses a single, highly luminous accent color (like pure Yellow
#FFFF00or Cyan#00FFFF) against black. - Typography: Highly legible, robust sans-serifs (
Atkinson Hyperlegible,Inter,Roboto). Large base font sizes (18px+). - Styling: Solid 2px borders around cards and buttons. Avoid drop shadows as they reduce edge clarity.
Web Implementation
- Focus heavily on focus states (
:focus-visible) and clear active states. - CSS Example:
:root {
--hc-bg: #ffffff;
--hc-text: #000000;
--hc-accent: #0000FF; /* Pure blue */
--hc-focus: #FF00FF; /* High visibility focus ring */
}
body {
background-color: var(--hc-bg);
color: var(--hc-text);
font-family: 'Atkinson Hyperlegible', sans-serif;
font-size: 18px; /* Larger default */
}
.hc-card {
background-color: #ffffff;
border: 3px solid #000000; /* Unmissable boundary */
padding: 32px;
border-radius: 8px;
}
.hc-btn {
background-color: var(--hc-accent);
color: #ffffff;
border: 3px solid transparent; /* Reserve space for focus */
border-radius: 4px;
padding: 16px 32px;
font-weight: 700;
font-size: 1.1rem;
cursor: pointer;
}
/* Crucial for high contrast / accessibility */
.hc-btn:focus-visible, a:focus-visible {
outline: 4px solid var(--hc-focus);
outline-offset: 4px;
}
a {
color: var(--hc-accent);
text-decoration: underline;
text-decoration-thickness: 2px;
}App Implementation
SwiftUI
struct HighContrastView: View {
var body: some View {
VStack(spacing: 32) {
// High Contrast Card
VStack(alignment: .leading, spacing: 16) {
Text("Maximum Legibility")
.font(.custom("Atkinson Hyperlegible", size: 24))
.fontWeight(.bold)
.foregroundColor(.black)
Text("Content is king. Borders are stark. Contrast ratios exceed 7:1.")
.font(.custom("Atkinson Hyperlegible", size: 18))
.foregroundColor(.black)
}
.padding(32)
.background(Color.white)
.overlay(
RoundedRectangle(cornerRadius: 8)
.stroke(Color.black, lineWidth: 3)
)
// High Contrast Action Button
Button(action: {}) {
Text("CONFIRM ACTION")
.font(.custom("Atkinson Hyperlegible", size: 18))
.fontWeight(.black)
.foregroundColor(.white)
.padding(.vertical, 16)
.padding(.horizontal, 32)
.background(Color(red: 0, green: 0, blue: 1)) // Explicit #0000FF, not adaptive system blue
.cornerRadius(4)
}
}
.padding()
.frame(maxWidth: .infinity, maxHeight: .infinity)
.background(Color.white)
}
}- Rely on thick
.stroke(Color.black, lineWidth: 3)overlays. - Ensure text is pure
.blackon pure.white. Do not use.secondarycolors if they drop below a 7:1 contrast ratio. - Use fonts specifically designed for legibility, like Atkinson Hyperlegible.
Flutter
class HighContrastScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
body: Center(
child: Padding(
padding: const EdgeInsets.all(24.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
// High Contrast Card
Container(
width: double.infinity,
padding: const EdgeInsets.all(32),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(8),
border: Border.all(color: Colors.black, width: 3), // Unmissable boundary
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: const [
Text('Maximum Legibility',
style: TextStyle(fontFamily: 'Atkinson', fontSize: 24, fontWeight: FontWeight.bold, color: Colors.black)),
SizedBox(height: 16),
Text('Content is king. Borders are stark. Contrast ratios exceed 7:1.',
style: TextStyle(fontFamily: 'Atkinson', fontSize: 18, color: Colors.black)),
],
),
),
const SizedBox(height: 32),
// High Contrast Button
ElevatedButton(
onPressed: () {},
style: ElevatedButton.styleFrom(
backgroundColor: const Color(0xFF0000FF), // Pure blue
foregroundColor: Colors.white,
padding: const EdgeInsets.symmetric(horizontal: 32, vertical: 16),
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(4)),
elevation: 0, // No shadows
),
child: const Text('CONFIRM ACTION',
style: TextStyle(fontFamily: 'Atkinson', fontSize: 18, fontWeight: FontWeight.w900)),
),
],
),
),
),
);
}
}- Disable
elevationon buttons; shadows blur the edges and reduce contrast. - Use
Border.all(color: Colors.black, width: 3)on containers to explicitly define spatial boundaries for users with low vision.
React Native
const HighContrastScreen = () => {
return (
<View style={{ flex: 1, backgroundColor: '#FFFFFF', padding: 24, justifyContent: 'center' }}>
{/* High Contrast Card */}
<View style={{
backgroundColor: '#FFFFFF',
borderColor: '#000000',
borderWidth: 3,
borderRadius: 8,
padding: 32,
marginBottom: 32
}}>
<Text style={{ fontFamily: 'Atkinson-Bold', fontSize: 24, color: '#000000', marginBottom: 16 }}>
Maximum Legibility
</Text>
<Text style={{ fontFamily: 'Atkinson-Regular', fontSize: 18, color: '#000000' }}>
Content is king. Borders are stark. Contrast ratios exceed 7:1.
</Text>
</View>
{/* High Contrast Button */}
<TouchableOpacity style={{
backgroundColor: '#0000FF',
paddingVertical: 16,
paddingHorizontal: 32,
borderRadius: 4,
alignItems: 'center'
}}>
<Text style={{ fontFamily: 'Atkinson-Bold', fontSize: 18, color: '#FFFFFF', fontWeight: '900' }}>
CONFIRM ACTION
</Text>
</TouchableOpacity>
</View>
);
};- In React Native, accessibility relies heavily on high contrast. Ensure
borderWidth: 3and explicit pure#000000text colors. - Make sure to use accessible
<TouchableOpacity>areas (a target area of at least 48×48 logical units where required by the platform; target size is not padding).
Jetpack Compose
@Composable
fun HighContrastScreen() {
Column(
modifier = Modifier
.fillMaxSize()
.background(Color.White)
.padding(24.dp),
verticalArrangement = Arrangement.Center
) {
// High Contrast Card
Box(
modifier = Modifier
.fillMaxWidth()
.background(Color.White, RoundedCornerShape(8.dp))
.border(3.dp, Color.Black, RoundedCornerShape(8.dp))
.padding(32.dp)
) {
Column {
Text(
text = "Maximum Legibility",
fontSize = 24.sp,
fontWeight = FontWeight.Bold,
color = Color.Black
)
Spacer(Modifier.height(16.dp))
Text(
text = "Content is king. Borders are stark. Contrast ratios exceed 7:1.",
fontSize = 18.sp,
color = Color.Black
)
}
}
… (nội dung đầy đủ có trong gói tải về)
Skill liên quan
- high-end-visual-design – Dùng khi thiết kế giao diện cao cấp đạt chuẩn agency với font premium, nhịp không gian…
- holographic-ui – Hướng dẫn triển khai Web và App cho Holographic UI. Kích hoạt khi người dùng muốn giao…
- hugging-face-vision-trainer – Huấn luyện mô hình nhận diện đối tượng, phân loại ảnh và phân đoạn SAM hoặc SAM2 cục bộ…
- iconsax-library – Thư viện icon phong phú và kỹ năng tạo icon bằng AI cho thiết kế UI/UX cao cấp.
- image-alt-tag-generator – Công cụ tạo thẻ alt cho hình ảnh. Dùng khi làm việc với hình ảnh hoặc mô tả hình ảnh…
- image-generator – Tạo và chỉnh sửa hình ảnh bằng mô hình Nano Banana Pro của Gemini…
- image-studio – Studio tạo hình ảnh thông minh: tự động định tuyến giữa ai-studio-image (ảnh người…
- imagen – Kỹ năng tạo hình ảnh bằng AI do Google Gemini cung cấp, hỗ trợ tạo nội dung hình ảnh…