diff --git a/SECURITY_ACCESSIBILITY_FIXES.md b/SECURITY_ACCESSIBILITY_FIXES.md new file mode 100644 index 0000000..313a1b6 --- /dev/null +++ b/SECURITY_ACCESSIBILITY_FIXES.md @@ -0,0 +1,115 @@ +# 安全性、辅助功能、兼容性和性能修复计划 + +## 1. CSS 兼容性修复 + +### 需要修复的属性顺序问题 +- `backdrop-filter` 应该在 `-webkit-backdrop-filter` 之后 +- `user-select` 应该在 `-ms-user-select` 之后 +- `width: max-content` 应该在 `width: -moz-max-content` 之后 +- `height: max-content` 应该在 `height: -moz-max-content` 之后 + +### 需要添加的浏览器前缀 +- `text-size-adjust` 需要添加 `-webkit-` 前缀 +- 所有 `user-select` 需要完整的前缀支持 + +## 2. 安全性修复(需要后端配置) + +### HTTP 头部修复 +这些需要在服务器配置或 PHP 中修复: + +```php +// functions.php 中添加 +function argon_security_headers() { + // 移除 Pragma 头(已废弃) + header_remove('Pragma'); + + // 简化 Server 头 + header('Server: Argon'); + + // 使用 CSP 替代 X-Frame-Options + header("Content-Security-Policy: frame-ancestors 'self'"); + header_remove('X-Frame-Options'); + + // 设置正确的字符集 + header('Content-Type: text/html; charset=utf-8'); + + // 缓存控制 + if (!is_admin()) { + header('Cache-Control: public, max-age=31536000, immutable'); + } +} +add_action('send_headers', 'argon_security_headers'); +``` + +## 3. 辅助功能修复 + +### 需要修复的 HTML 结构 +1. 按钮缺少可识别文本 - 添加 `aria-label` 或 `title` +2. ARIA 角色层级问题 - 修复 tab/tablist 结构 +3. 表单元素缺少标签 - 添加 `