关于Readium CSS和数字阅读

如果您最近没有在Medium上看到我的任何新消息,那是因为在过去三个月中我代表EDRLab领导了Readium CSS项目。

Readium CSS是EPUB阅读系统的一组参考样式表。 它将在Readium 2中使用,Readium 2是由Readium组织管理的电子出版物的框架,但也可以由那里的任何EPUB阅读系统使用。 这意味着很多。

因此,我认为分享这种持续的经验,到目前为止我们已经完成的工作和所学到的知识,这个项目如何与更广泛的数字出版物联系起来等都是很酷的。

让我们对阅读系统进行一点现代化

Readium 2项目的目标之一是利用现代Web规范。 确实,这方面已经发生了很多事情,是时候重新考虑阅读系统的工作原理了。

我们已尝试在Readium CSS中尽可能合理地实现此目标-显然,因为我们必须考虑CSS支持。

也许我们最大胆的决定是在第一天押注自定义属性(又称CSS变量)。的确,它们非常适合Readium CSS:

  • 它们可以很快地插入JavaScript;
  • 他们可以节省很多JavaScript代码;
  • 主题化是他们的主要用例之一;
  • 它们简化了动态样式更改(用户设置);
  • 我们可以一次加载所有样式表,然后将它们缓存以提高性能;
  • 像预处理程序的变量一样,它们甚至可以用于自定义阅读系统的默认样式;
  • 由于它们在DOM中公开,因此作者可以将它们用于其他设计选项,并使自己的样式与用户首选项超级兼容。

总结起来,它们可以帮助解决许多历史问题,事后看来,我们非常有信心这是我们实际上可以做出的最佳选择。

不过,这不仅与CSS变量有关,而且我们还使用了开放式功能,现代选择器( :lang() :not()等), calc()函数(认为字体大小是通过自动计算得出的类型比例因子),连字符,过滤器, object-fit等。

简而言之,我们正在尝试利用CSS今天提供的所有酷而有用的功能,并在需要时提供备用。

没有级联和继承就不可能做到这一点。 当然,我们的用例有些特定(在不控制内容的情况下更改样式),但确实帮助我们避免了很多DOM操作:到目前为止,我们仅为html设置了属性,完全不用走DOM树,它在很多设置下都可以正常工作。

尽管在某些情况下我们可能最终会做更多的事情,但是我们知道,如果需要,可以通过简单地拥护并使用级联来发挥我们的优势,在纯CSS中可以做很多事情。

最后但并非最不重要的一点是,我们采用了模块化的方法:Readium CSS并不是一个整体的样式表,它是您可以随意使用或离开的一组模块。 以后再说。

我们做了很多研究

我们已经在研究方面做出了巨大的努力,因为实际上在电子书方面没有很多可用的东西。

  • 用户代理的默认值
  • 系统字体可用于多种语言
  • 用户喜欢的字体
  • 辅助功能(字体,设置,全局功能等)
  • 电子书创作实践
  • 关于在作者样式上管理用户设置的建议

所有这些主题都已经过研究-至今仍在进行。 也许您会在其中找到有趣的见解,也许没有,但是至少我们公开了它。

当然,我们在进行这项研究时就着眼于电子书,但是有很多信息也可能适用于您的Web项目。

例如,我们发现在涉及到11岁时可能要考虑一个重要的“污名化因素”。 换句话说,尽管是出于好意,但我不确定预先为读者提供标有“阅读障碍模式”的东西是最好的选择,考虑到阅读障碍的可自定义主题在情绪方面可能会好得多。

我们仍处于可访问性的早期阶段,但用户已经可以在我们的应用程序中设置一些相关设置。

值得注意的是,我们还介绍了EPUB的互操作性,并据此做出了许多设计决策。 对此没有任何回顾,它是直接内置于Readium CSS样式中的,因此您不必这样做。

我们正在发送邀请函以访问iOS测试应用,因此,如果您想尝试使用此应用,请随时向我发送您的电子邮件地址。

也许不只是关于EPUB

我们所做的选择带来了很大的灵活性。 这让我想知道Readium CSS最终可以管理的其他用例。

模块可以使用,也可以使用,这意味着您可以为您的项目使用最有趣的Readium CSS,例如保留分页。 当然,它可能无法与网络上发布的所有亿万个文档完美配合,但我可以看到它用于:

  • “稍后阅读”服务;
  • 类似于您在浏览器中可以找到的阅读模式;
  • 一个浏览器扩展程序,为用户提供相关的设置;
  • 网络出版物的用户设置或主题;
  • 一个开始排版的最小框架,尤其是对于创作工具。

我很确定您会提出其他想法。 而且,公平地说,一些公司已经在进行此类项目,例如,参见Orange Confort +。

看来我们一直在重新发现自定义的好处,并试图对其进行标准化,现在,我坚信,例如,如果您采用这种方式,Readium CSS最终可以帮助您以长格式内容实现用户设置。

结论

Readium CSS仍然是原型,不应被视为灵丹妙药。 但是我们花了很多心思,也许您可​​以快速浏览一下; 我确实相信在文档和问题中至少有一些有趣的见解,但是您可以自行决定是否可以帮助您。

如果您要用它来构建任何东西,请告诉我。 我真的很想听听您的经验,发现,可以收集的数据以及必须进行的更改,以使其适合您的特定用例。

在线图书正在缓慢但必定成为一件事,如果我们一起讨论,实际上我们可以分享很多东西。 例如,这是http://poeticcomputation.info。

更重要的是,我们正在做的工作,是我们为依赖Web技术的出版物所做的工作。 我想我们可以分享,讨论,设计和开发很多东西。 网络出版物即将到来,是时候开始为数字时代设计更坚实的阅读体验了。