## 阴影 DOM 可访问性通过引用目标得到改善 长期以来,阴影 DOM 的一个挑战在于平衡封装性和可访问性。虽然阴影 DOM 允许使用可重用组件,但从历史上看,它使得阴影根外部的元素难以正确引用阴影根*内部*的元素——这对于标签和 ARIA 属性等功能至关重要。 新的 **引用目标** 功能解决了这个问题。它允许开发者将阴影根*内部*的特定元素指定为对阴影宿主的任何基于属性的引用的目标。例如,一个 `<label for="track">` 现在可以正确链接到嵌套在 `<custom-input>` 组件中的 `<input>`,即使 `<input>` 被封装了。这可以直接在代码中设置,或使用 `<template shadowRootReferenceTarget="...">` 声明性地设置。 这种方法比之前的方案更受青睐,因为它专注于一个具体问题——引用阴影宿主——而不是试图转发每个属性。 实现正在进行中,Chromium 拥有最完整的版本(可通过标志获得),WebKit 和 Firefox 中也有原型。在完全标准化之前,还需要进一步的测试,特别是关于可访问性树的更改以及对辅助技术的通知。这项工作得到了 NLNet 基金会的资助,以及来自微软和 Igalia 的贡献。
## Crimsonland:一份热爱与逆向工程的成果
Crimsonland,一款2003年发布的俯视角射击游戏(2014年重制版),经历了一次独特的复兴。一位开发者没有进行典型的重制,而是着手一个精细的项目,以源代码*精确*地重现原始的Windows二进制文件。出于对游戏架构的怀旧和着迷,该项目于2026年初开始,使用了Ghidra、Codex(配合GPT-5.2)和Frida等工具进行反汇编、重命名函数和运行时分析。
目标不是现代化,而是*忠实度*——复制原始游戏中的每一个错误、纹理缺陷和硬编码的怪癖。这需要费力地破译游戏的自定义格式,它对DirectX 8引擎的依赖(通过Grim2D库),以及对游戏复杂且常常非常规代码的深入理解。
经过一年的工作和超过46,000行代码,该项目即将完成。核心游戏玩法已经完全可用,开发者希望添加在线排行榜甚至网络多人游戏等功能。这项工作展示了现代AI工具在逆向工程和保护方面的力量,在短短几周内实现了10tons花费一年时间并可访问原始源代码才完成的重制。该项目是开源的,邀请社区贡献来完善最终产品并保护这款备受喜爱的经典游戏。