语义化星级评分

13

我正在产品页面上实现一个星级评分系统。 当前的系统过于臃肿,不能被认为是语义化的。

现在有没有更好的方法来处理HTML5中的评分(例如使用<range>输入)? 如果没有,那么编写星级评分系统的标记的适当方式是什么?

3个回答

4
对于投票来说,语义上是一个表单(不是一组链接,因为此操作具有副作用,所以必须使用POST方法)。星星可以是单选按钮(带有<label>!)或提交按钮(不幸的是这将很难进行样式设置)。
如果您的评分以百分比或一些更大的尺度为基础,则<input type=range>更加合适。对于典型的1-5评级,它可能不是最佳解决方案:

输入元素表示控制将元素的值设置为表示数字的字符串的控件,但附带的条件是确切的值不重要,让UA提供比Number状态更简单的接口。

对于呈现评级,HTML没有任何特定的元素,但您可以使用hReviewhReview-aggregate微格式或等效微数据(Google likes them)。

3

我认为范围输入适合这个工作。在HTML5中,我认为最语义化的方法是通过一系列单选按钮来实现。可以将它们样式化成星形,并编写脚本使其具有期望的评分星级行为。


3
此外,对于星级评分的静态呈现,<meter>元素应该是合适的。

<meter>元素表示已知范围内的标量测量或分数值;例如磁盘使用情况、查询结果的相关性或选择了特定候选人的投票人口的比例。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接