用途:该技能用于在 Web 应用与桌面应用中实现或审查 RTL/LTR 行为,涵盖 CSS、菜单、滚动、缩放、图标等方向相关场景,要求把文字方向视为独立于语言的属性。
主要能力与准则:在 document 上设置 lang 与 dir,并通过组件 provider 向下传播方向,使 portal 菜单与浮层也能获得正确方向,不通过切换 locale 来强制 RTL。保持 DOM 与焦点顺序语义化,Flexbox 与 Grid 本身遵循 dir,无需添加 row-reverse、CSS order 或反向标记。语义布局优先使用逻辑 CSS 属性,只在指针位置、画布几何、原生窗口控件等真正物理位置处使用物理坐标。
文本与媒体处理:用 dir="auto" 或 <bdi> 隔离未知方向的混合文本;代码、URL、ID、文件路径保持 LTR,但不强制其所在组件整体 LTR。只镜像具有方向含义的元素(返回/前进、上一个/下一个、展开、缩进、方向性进度),不镜像品牌、时钟、媒体控件、图表与文字;需显式反转物理渐变、translateX、SVG 变换和动画差值。
交互与限制:clientX 仍为物理坐标,缩放逻辑边需使用方向感知的 delta;逻辑上一页/下一页的键盘控制可交换 ArrowLeft/ArrowRight,并遵循 WAI-ARIA 控件模式。不要假定 LTR 滚动,RTL 下 scrollLeft 可从 0 起并变为负值,宜用 scrollIntoView({ inline: "nearest" }) 或经过测试的方向归一化辅助函数。Electron 标题栏优先使用原生标题控件,用 titleBarOverlay 与 env(titlebar-area-*) 计算安全内容矩形,保留 Windows/macOS 原生控件避让与 trafficLightPosition 为物理值,标题栏内交互子元素标记 app-region: no-drag。
验证与测试矩阵:验证行为而非仅截图,检查计算样式、伪元素几何、命中区、焦点顺序、键盘行为、子菜单方向、缩放及 LTR/RTL 两端滚动。测试覆盖英文+LTR、英文+强制 RTL、真实 RTL 语言+RTL、混合 RTL/LTR 长标签/数字/代码/路径,以及两种方向下的键盘、指针缩放、滚动、菜单与 Electron 标题栏控件。资料未提供安装命令、收费与平台细节。