Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
跨越div和span——HTML5、css和WCAG_Html_Css_Wcag - Fatal编程技术网

跨越div和span——HTML5、css和WCAG

跨越div和span——HTML5、css和WCAG,html,css,wcag,Html,Css,Wcag,我有一个使用div和span的三列HTML课程演示。最后的目标是有一个符合WCAG的表,但我被CSS问题困住了 这是我的密码: <div role="table" aria-label="TABLE-NAME" aria-describedby="TABLE-NAME_DESCRIPTION"><div id="TABLE-NAME_DESCRIPTION">WCAG HTML, hopefully</div> <div role="rowgroup"&

我有一个使用div和span的三列HTML课程演示。最后的目标是有一个符合WCAG的表,但我被CSS问题困住了

这是我的密码:

<div role="table" aria-label="TABLE-NAME" aria-describedby="TABLE-NAME_DESCRIPTION"><div id="TABLE-NAME_DESCRIPTION">WCAG HTML, hopefully</div>
<div role="rowgroup">
<div role="row">
<span role="columnheader">Course Number</span><span role="columnheader">Description</span><span role="columnheader">Prerequisite</span>
</div>
</div>
<div role="rowgroup">
<div role="row">
<span class="semester" role="cell">Fa1l, 1st Year</span>
</div></div>
<div role="rowgroup">
<div role="row">
<span role="cell">BUSI3333</span><span role="cell">Business 3333</span><span role="cell">Business 3332</span>
</div>
</div>
</div>
我如何让这个学期看起来以中心为中心

目前,我工作的CSS是:

.annotate {
  font-style: italic;
  color: #366ed4;
}
.semester {
    text-align: center;
    font-weight: bold;
    width: 100%;
}

[role="table"] {
  display: table;
}

[role="table"] > div[id] {
  display: table-caption;
  font-style: italic;
}

[role="table"] [role="row"] {
  display: table-row;
}

[role="table"] [role="cell"],
[role="table"] [role="columnheader"] {
  display: table-cell;
  padding: 0.125em 0.25em;
  width: 8em;
}

[role="table"] [role="columnheader"] {
  font-weight: bold;
  border-bottom: thin solid #888;
}

[role="table"] [role="rowgroup"]:nth-child(odd) {
  background-color: #ddd;
}
</style>

是的,我可以将学期放在中间,两边都是空的,但这似乎是错误的。

在这种情况下,您应该删除围绕学期跨度的行,并删除role=cell声明。然后,它只是行组中的一个普通的旧跨距,您可以将display:inline块添加到CSS以使其居中。像这样:

.注释{ 字体:斜体; 颜色:366ed4; } .学期{ 显示:内联块; 文本对齐:居中; 字体大小:粗体; 宽度:100%; } [角色=表格]{ 显示:表格; } [role=table]>div[id]{ 显示:表格标题; 字体:斜体; } [角色=表格][角色=行]{ 显示:表格行; } [角色=表格][角色=单元格], [角色=表格][角色=列标题]{ 显示:表格单元格; 填充:0.125em 0.25em; 宽度:8em; } [角色=表格][角色=列标题]{ 字体大小:粗体; 边框底部:薄实线888; } [角色=表格][角色=行组]:第n个childodd{ 背景色:ddd; } 希望是WCAG HTML 课程编号说明先决条件 Fa1l,第一年 业务3333业务3333业务3332
在这种情况下,您应该删除学期跨度周围的行,并删除role=cell声明。然后,它只是行组中的一个普通的旧跨距,您可以将display:inline块添加到CSS以使其居中。像这样:

.注释{ 字体:斜体; 颜色:366ed4; } .学期{ 显示:内联块; 文本对齐:居中; 字体大小:粗体; 宽度:100%; } [角色=表格]{ 显示:表格; } [role=table]>div[id]{ 显示:表格标题; 字体:斜体; } [角色=表格][角色=行]{ 显示:表格行; } [角色=表格][角色=单元格], [角色=表格][角色=列标题]{ 显示:表格单元格; 填充:0.125em 0.25em; 宽度:8em; } [角色=表格][角色=列标题]{ 字体大小:粗体; 边框底部:薄实线888; } [角色=表格][角色=行组]:第n个childodd{ 背景色:ddd; } 希望是WCAG HTML 课程编号说明先决条件 Fa1l,第一年 业务3333业务3333业务3332
只需让你的古怪类显示:flex和justify content:center;将此代码替换为您的代码

[role="table"] [role="rowgroup"]:nth-child(odd) {
    background-color: #ddd;
    display: flex;
    justify-content: center;
}
.注释{ 字体:斜体; 颜色:366ed4; } .学期{ 文本对齐:居中; 字体大小:粗体; 宽度:100%; } [角色=表格]{ 显示:表格; } [role=table]>div[id]{ 显示:表格标题; 字体:斜体; } [角色=表格][角色=行]{ 显示:表格行; } [角色=表格][角色=单元格], [角色=表格][角色=列标题]{ 显示:表格单元格; 填充:0.125em 0.25em; 宽度:8em; } [角色=表格][角色=列标题]{ 字体大小:粗体; 边框底部:薄实线888; } [角色=表格][角色=行组]:第n个childodd{ 背景色:ddd; 显示器:flex; 证明内容:中心; } 希望是WCAG HTML 课程编号说明先决条件 Fa1l,第一年 业务3333业务3333业务3332
只需让你的古怪类显示:flex和justify content:center;将此代码替换为您的代码

[role="table"] [role="rowgroup"]:nth-child(odd) {
    background-color: #ddd;
    display: flex;
    justify-content: center;
}
.注释{ 字体:斜体; 颜色:366ed4; } .学期{ 文本对齐:居中; 字体大小:粗体; 宽度:100%; } [角色=表格]{ 显示:表格; } [role=table]>div[id]{ 显示:表格标题; 字体:斜体; } [角色=表格][角色=行]{ 显示:表格行; } [角色=表格][角色=单元格], [角色=表格][角色=列标题]{ 显示:表格单元格; 填充:0.125em 0.25em; 宽度:8em; } [角色=表格][角色=列标题]{ 字体大小:粗体; 边框底部:薄实线888; } [角色=表格][角色=行组]:第n个childodd{ 背景色:ddd; 显示器:flex; 证明内容:中心; } 希望是WCAG HTML 课程编号说明先决条件 Fa1l,第一年 业务3333业务3333业务3332
你为什么不使用实际的?老的建议是避免,因为原因。原因是人们使用的布局。如果您需要一个表,那么使用它在语义上是正确的。您知道不要将CSS放在HTML中,因为混合会引起关注。但是您将角色和样式化CSS问题混合在一起,结果很难保持更改角色暗示更改CSS和使用CSS暗示添加角色的重用。如果使用了,则不需要ARIA角色。使用类作为HTML、Javascript和CSS之间的接口是可以的。另外,对于布局,请使用flex。您肯定应该在class=sement单元格中使用aria colspan=3。为什么不使用实际的?旧的
我的建议是避免因为其他原因。原因是人们使用的布局。如果您需要一个表,那么使用它在语义上是正确的。您知道不要将CSS放在HTML中,因为混合会引起关注。但是您将角色和样式化CSS问题混合在一起,结果很难保持更改角色暗示更改CSS和使用CSS暗示添加角色的重用。如果使用了,则不需要ARIA角色。使用类作为HTML、Javascript和CSS之间的接口是可以的。另外,对于布局,请使用flex。你肯定应该在class=sement单元格中使用aria colspan=3。两个好答案:Claire和Irin都帮助了我。。。这是我正在使用的方法,但Irin的方法也很好。关于使用表的内联讨论:我做了。。。但我们的WCAG验证器真的不喜欢他们,我得到了我们的WCAG分数评分。。。所以我在一台电脑上工作,然后被另一台电脑评判。但在我看来,表格更容易,只是在这种情况下并不可取。如果以这种方式呈现表格数据,几乎肯定会误解WCAG指南,比如说,与其他具有本地宿主语言等效的WAI-ARIA角色一样,强烈鼓励作者尽可能使用本地HTML表格元素。。当您显示的是不重小部件的直截了当的数据时,指南非常明确地说您应该使用。@pbhj明白了。。。WCAG验证器首选此方法。。。作为一个HTML程序员,我更喜欢表格。哪个验证器?同样,绝对信任自动化测试[如果是一个]的方法,而不是将其作为指示性的方法,在我看来是一个糟糕的方法。我认为这一结果是一个假阳性的指示性结果,测试工具的一个缺陷——除非这是一个家庭作业练习,否则你应该相信指导原则,而不是一个用来测试事情是否符合指导原则的工具。两个好答案:Claire和Irin都帮助了我。。。这是我正在使用的方法,但Irin的方法也很好。关于使用表的内联讨论:我做了。。。但我们的WCAG验证器真的不喜欢他们,我得到了我们的WCAG分数评分。。。所以我在一台电脑上工作,然后被另一台电脑评判。但在我看来,表格更容易,只是在这种情况下并不可取。如果以这种方式呈现表格数据,几乎肯定会误解WCAG指南,比如说,与其他具有本地宿主语言等效的WAI-ARIA角色一样,强烈鼓励作者尽可能使用本地HTML表格元素。。当您显示的是不重小部件的直截了当的数据时,指南非常明确地说您应该使用。@pbhj明白了。。。WCAG验证器首选此方法。。。作为一个HTML程序员,我更喜欢表格。哪个验证器?同样,绝对信任自动化测试[如果是一个]的方法,而不是将其作为指示性的方法,在我看来是一个糟糕的方法。我认为这一结果是一个假阳性的指示性结果,测试工具的一个缺陷——除非这是一个家庭作业练习,否则你应该更信任指导原则,而不是一个旨在测试事情是否符合指导原则的工具。