R包CRAN检查出现HTML5 width属性不允许警告咨询
R包CRAN检查报HTML5
width属性不允许警告的解决方案 这个问题是R包开发者提交CRAN前的高频踩坑点,报错和开发者手动编写的Rd内容无关,是旧版本R文档渲染链路的默认行为导致的。
问题根源
R 4.2.0版本前内置的Rd2HTML转换工具,在把Rd格式文档转成HTML帮助页时,会自动给表格、图片元素添加width、border、cellpadding、cellspacing这类HTML5规范中已经废弃的元素属性,CRAN切换到HTML5作为帮助文档默认渲染标准后,检查流程就会抛出对应属性不合规的警告。
可行解决方法
- 优先把本地开发用的R版本升级到4.2.0及以上正式版。该版本已经修复了
Rd2HTML的渲染逻辑,不再自动生成这类违反HTML5规范的废弃属性,升级后重新执行R CMD build和R CMD check,相关警告会直接消失。CRAN官方的检查环境始终运行最新稳定版R,只要包本身没有手动写入违规HTML内容,用新版本R构建的包提交后不会触发这类警告。 - 如果暂时无法升级本地R版本,先排查所有Rd源文件(包括roxygen2注释生成的Rd内容):确认没有在
\htmlonly代码块中手写带width等废弃属性的HTML标签,比如<table width="100%">、<img width=50>这类写法,如果存在就改成用CSS控制样式,不要直接在元素上写呈现属性。排查完成后可以直接忽略本地旧R环境抛出的这类警告,提交到CRAN后官方环境不会因为这个卡审核。 - 如果使用roxygen2生成文档,把roxygen2升级到7.2.0及以上版本,避免旧版roxygen2生成的Rd标记触发渲染逻辑输出违规属性。
注意:不要手动修改构建过程自动生成的HTML文件,每次执行构建命令时系统都会从Rd源文件重新渲染HTML,手动修改的内容不会被保留,反而可能引入新的检查错误。
内容的提问来源于stack exchange,提问作者devnull
相关产品推荐
相关产品推荐

