如何为Arbre中的每个<li>添加tabindex =“ 0”

时间:2019-12-19 14:53:44

标签: html ruby-on-rails arbre

我正在更新一些旧代码以使其与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

结束

1 个答案:

答案 0 :(得分:0)

虽然文档紧凑,但显示为

  

包括id和HTML类在内的标记属性作为哈希参数传递,标记主体作为块传递

所以我猜你可以写类似

li tabindex: 0 do 

所以我对此进行了测试:

Arbre::Context.new { li tabindex: 0 }
=> <li tabindex="0"></li>