我正在开发基于浏览器的游戏,并希望尽可能保持 HTML 在语义上正确。
游戏的基础是一个由瓷砖网格组成的“棋盘”。每个图块的坐标被用作引用每个图块的一种方式 - 就像在战舰中一样。
使用表格来表示这种“地图”网格是否是正确的语义标记,或者因为它不是数字表格,所以使用块级元素(例如 div)来构建网格会更正确吗?
[编辑] 针对一些评论,如果我应该/不应该使用<table>
- 为什么不呢?
我正在开发基于浏览器的游戏,并希望尽可能保持 HTML 在语义上正确。
游戏的基础是一个由瓷砖网格组成的“棋盘”。每个图块的坐标被用作引用每个图块的一种方式 - 就像在战舰中一样。
使用表格来表示这种“地图”网格是否是正确的语义标记,或者因为它不是数字表格,所以使用块级元素(例如 div)来构建网格会更正确吗?
[编辑] 针对一些评论,如果我应该/不应该使用<table>
- 为什么不呢?
它具有桌子的特征。2D,两个轴的标题单元格以及内容的含义如果瓷砖的布局不同,则会发生变化。
如果您不使用table
.
如果您使用div
元素来构建该网格,则必须非常详细地说明哪个单元格具有哪个坐标(每个单元格都需要明确标记),并且玩家需要集中精力在他们的脑海中“重建”这个网格。就像通过电话下棋一样。可能,是的,但比把板放在你面前更难。
所以是的,我认为你应该使用table
. 网格单元格的顺序很重要且有意义,每个单元格由两个标题(x/y 轴)标记。
使用 a table
,屏幕阅读器用户(大多数屏幕阅读器可以宣布单元格的标题/坐标)和文本浏览器(在本例中为 w3m)都可以完美地使用您的网格:
试试不带table
. div
元素没有上/右/下/左邻居的概念。