博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
插入脚注把脚注标注删掉_CSS可访问的脚注
阅读量:2506 次
发布时间:2019-05-11

本文共 8486 字,大约阅读时间需要 28 分钟。

插入脚注把脚注标注删掉

I was playing with the other day and thought about using them to deal with footnotes. According to which has a surprisingly long entry on the matter, footnotes are:

前几天,我在与一起玩,并考虑使用它们处理脚注。 根据 ,这件事出人意料的漫长,脚注是:

[…] notes placed at the bottom of a page. They cite references or comment on a designated part of the text above it.

[…]注释放在页面底部。 他们引用或评论上方文本的指定部分。

You often see them in papers when the author wants to add a piece of information or cite a reference without doing it in the middle of the content or using parentheses. Usually, footnotes are represented with a number according to the position of the footnote in the document, then the same numbers are present at the bottom of the document, adding extra content.

当作者想要添加一条信息或引用一个参考而不在内容中间或使用括号时,您通常会在论文中看到它们。 通常,脚注根据文档中脚注的位置用数字表示,然后相同的数字出现在文档底部,从而增加了额外的内容。

The problem with footnotes on the web is that they can be a pain to maintain. If you happen to work on the same document often, changing the order of sections, adding references along the way, it might be tedious to have to re-number all existing footnotes. For example, if you have 3 existing references to footnotes in a document, and you want to add another one, but on a piece of content that occurs before all the others, you have to re-number them all. Not great…

网络上的脚注的问题在于,它们很难维护。 如果您碰巧经常处理同一文档,更改部分的顺序,并在此过程中添加引用,那么必须重新编号所有现有脚注可能很麻烦。 例如,如果您在文档中有3个对脚注的现有引用,并且要添加另一个脚注,但是在所有其他脚注之前出现的内容上,则必须对它们全部重新编号。 不是很好…

We could use CSS counters to make this whole thing much easier. What if we did not have to maintain the numbering by hand and it could be done automatically? The only thing we would have to pay attention to, is that the order of the actual notes in the footer respect the order of appearance of the references in the text.

我们可以使用CSS计数器来简化整个过程。 如果我们不必手动维护编号并且可以自动完成该怎么办? 我们唯一需要注意的是,页脚中实际注释的顺序尊重文本中引用的出现顺序。

创建样本文件 (Creating a sample document)

Let’s create a sample document so we can get started.

让我们创建一个示例文档,以便我们开始。

CSS-Powered Footnotes

Maintaining footnotes manually can be a pain. By using CSS counters to add the numbered references in the text and an ordered list to display the actual footnotes in the footer, it becomes extremely easy.

  1. Footnotes are notes placed at the bottom of a page. They cite references or comment on a designated part of the text above it.
  2. Cascading Style Sheets
  3. CSS counters are, in essence, variables maintained by CSS whose values may be incremented by CSS rules to track how many times they're used.

Our example is lightweight: we have some content in an <article> element, which contains some links (<a>) pointed at in-document IDs, mapped to the notes in the <footer> of the article.

我们的示例是轻量级的:我们在<article>元素中包含一些内容,其中包含一些指向文档中ID的链接( <a> ),这些链接映射到文章<footer>中的注释。

With a few styles, it might look like this:

有几种样式,可能看起来像这样:

Accessible footnotes with CSS – raw version

使其可访问 (Making it accessible)

Before actually getting onto the counters thing, we should make sure our markup is fully accessible for screen-readers. The first thing we want to do is add a title to our footer that will serve as a description or our footnote references. We’ll hide this title with CSS so it doesn’t show up visually.

在实际进入柜台事物之前,我们应确保屏幕阅读器可以完全访问我们的标记。 我们要做的第一件事是在页脚中添加标题,以用作描述或脚注引用。 我们将使用CSS隐藏该标题,以使它不会直观显示。

Footnotes

    ...

Then, we want to describe all our references with this title, using the aria-describedby attribute:

然后,我们要使用aria-describedby属性描述所有带有该标题的引用:

Maintaining footnotes manually can be a pain. By using CSS counters to add the numbered references in the text and an ordered list to display the actual footnotes in the footer, it becomes extremely easy.

Now screen reader users will understand when links are references to footnotes.

现在,屏幕阅读器用户将了解何时链接是对脚注的引用。

添加参考 (Adding the references)

I know what you’re thinking: He said there would be CSS counters. Where are the CSS counters? Well worry not, my friend, they are coming.

我知道您在想什么: 他说会有CSS计数器。 CSS计数器在哪里? 好吧,不用担心,我的朋友,他们来了。

What we are going to do is increment a counter for every link in the document that has an aria-describedby attribute set to footnote-label. Then we’ll display the counter using the ::after pseudo-element. From there, it’s all about applying CSS styles.

我们要做的是为文档中具有aria-describedby属性设置为footnote-label每个链接增加一个计数器。 然后,我们将使用::after伪元素显示计数器。 从那里开始,所有关于应用CSS样式的事情。

/** * Initialiazing a `footnotes` counter on the wrapper */article {  counter-reset: footnotes;}/** * Inline footnotes references * 1. Increment the counter at each new reference * 2. Reset link styles to make it appear like regular text */a[aria-describedby="footnote-label"] {  counter-increment: footnotes; /* 1 */  text-decoration: none; /* 2 */  color: inherit; /* 2 */  cursor: default; /* 2 */  outline: none; /* 2 */}/** * Actual numbered references * 1. Display the current state of the counter (e.g. `[1]`) * 2. Align text as superscript * 3. Make the number smaller (since it's superscript) * 4. Slightly offset the number from the text * 5. Reset link styles on the number to show it's usable */a[aria-describedby="footnote-label"]::after {  content: '[' counter(footnotes) ']'; /* 1 */  vertical-align: super; /* 2 */  font-size: 0.5em; /* 3 */  margin-left: 2px; /* 4 */  color: blue; /* 5 */  text-decoration: underline; /* 5 */  cursor: pointer; /* 5 */}/** * Resetting the default focused styles on the number */a[aria-describedby="footnote-label"]:focus::after {  outline: thin dotted;  outline-offset: 2px;}

Now it looks like this:

现在看起来像这样:

Accessible footnotes with CSS

Pretty nice, huh? As a final touch, when heading to a footnote from a reference, we want to highlight the note in the footer so we actually see what is the note being referred to, which we can do using the :target pseudo-class:

很好,是吗? 最后,当从参考文献转到脚注时,我们希望在页脚中突出显示该注解,以便我们实际看到所指的注解,可以使用:target伪类:

footer :target {  background: yellow;}

It is a bit raw, so feel free to customise. Although I must say I like the pure yellow for a highlight – it looks so authentic:

它有点生,可以随意定制。 尽管我必须说我喜欢纯黄色作为亮点–它看起来是如此真实:

Accessible footnotes with CSS – A footnote is targeted

Our demo needs one final element to be fully accessible (as well as pretty cool): back-to-content links. Think about it: You focus a reference, head to the relevant note in the footer, read it and then… nothing. You need a way to go back to where you left!

我们的演示需要一个最终元素可以完全访问(以及非常酷):回到目录链接。 考虑一下:您将参考作为重点,转到页脚中的相关注释,阅读了,然后……什么也没有。 您需要一种方法来回到离开的地方!

Providing those links is not that hard: we only need to add a unique ID attribute to each reference in the content so they can be linked to. I decided to go simple and take the ID they refer to, and simply append -ref to it:

提供这些链接并不难:我们只需要向内容中的每个引用添加唯一的ID属性,以便可以将它们链接到。 我决定简化并采用他们引用的ID,然后在其-ref附加-ref

Maintaining footnotes manually can be a pain. By using CSS counters to add the numbered references in the text and an ordered list to display the actual footnotes in the footer, it becomes extremely easy.

Then each list item from the footer has its own link heading to the relevant id we just added. The content of the link is the backlink Unicode icon (↩), and it has an aria-label attribute with a value of “Back to content”.

然后,页脚中的每个列表项都有其自己的链接标题,指向我们刚刚添加的相关id 。 链接的内容是反向链接 Unicode图标(↩),并且具有aria-label属性,其值为“ Back to content”。

  1. Footnotes are notes placed at the bottom of a page. They cite references or comment on a designated part of the text above it.
  2. Cascading Style Sheets
  3. CSS counters are, in essence, variables maintained by CSS whose values may be incremented by CSS rules to track how many times they're used.

To target those links in CSS, we can rely on the aria-label attribute the same way we did for aria-describedby:

要定位CSS中的那些链接,我们可以像对待aria-describedby一样使用aria-label属性:

[aria-label="Back to content"] {  font-size: 0.8em;}

Here is what the final demo looks like:

最终的演示如下所示:

See the Pen by SitePoint () on .

请参阅上的 ( ) 的Pen 。

最后的想法 (Final thoughts)

With nothing but a couple of lines of CSS and a few ARIA attributes, we managed to create CSS-powered footnotes that are accessible and do not need any JavaScript. How cool is that?

除了几行CSS和一些ARIA属性外,我们设法创建了CSS支持的脚注,这些脚注可访问且不需要任何JavaScript。 多么酷啊?

On topic, I highly recommend from . Also, be sure to check out from to check the accessibility of your pages.

在主题上,我强烈推荐 。 此外,一定要检查出从检查网页的可访问性。

Huge thanks to for his valuable help regarding accessibility in this demo.

非常感谢在此演示中有关可访问性的宝贵帮助。

翻译自:

插入脚注把脚注标注删掉

转载地址:http://ubrgb.baihongyu.com/

你可能感兴趣的文章
LeetCode-Burst Balloons
查看>>
LeetCode-Bitwise AND of Numbers Range
查看>>
Windows Server 2012和2008中使用计划任务定时执行BAT批处理文件 定时备份mysql数据...
查看>>
费马小定理与GCD&LCM
查看>>
P1077 摆花
查看>>
zynq修改ramdisk文件系统
查看>>
C#测量程序运行时间及cpu使用时间
查看>>
并发编程
查看>>
我自己曾经经历的CMMI3认证通过关于软件测试的访谈【转载】
查看>>
C# 操作Excel ——Excel获取数据、时间、图片
查看>>
【Express系列】第3篇——接入mysql
查看>>
js 高亮显示关键字
查看>>
CPU工作原理简图
查看>>
进程互斥于同步
查看>>
小米公布2017二季度手机出货量:环比增长70%
查看>>
IntelliJ Idea 集成svn 和使用[转自网络]
查看>>
VS2013 密钥 – 所有版本
查看>>
缓冲一日
查看>>
apache常用配置文件讲解
查看>>
html设置透明度
查看>>