0

我正在更新一些旧代码以符合 ADA 标准,并且需要<li>在导航中提供每个代码,tabindex="0"以便它们都可以通过键盘访问。

这是生成导航<li>的代码。它不是我写的,我只知道 Arbre 是什么,因为一位高级开发人员指出了这一点,但我们都不知道如何添加 tabindex。

def nav_item_column_list(nav_item, row_number, column_number)
sub_item = nav_item.children.where(column_number: column_number).all[row_number]

if sub_item.present?
  Arbre::Context.new({:helper => self}) do
    ul do
      li do
        a sub_item.title, href: sub_item.url
        if sub_item.children.count > 0
          ul do
            sub_item.children.each do |child|
              li do
                a child.title, href: child.url
              end
            end
          end
        end
      end
    end
  end
end

结尾

4

1 回答 1

0

虽然文档很紧凑,但它说

标签属性(包括 id 和 HTML 类)作为散列参数传递,标签主体作为块传递

所以我猜你可以写类似的东西

li tabindex: 0 do 

所以我测试了这个:

Arbre::Context.new { li tabindex: 0 }
=> <li tabindex="0"></li>
于 2019-12-19T15:11:49.447 回答