В духе прогрессивного улучшения, я хотел бы провести тестирование некоторых возможностей ARIA для реализации дополнительных улучшений, если они поддерживаются браузером. Я не ищу средства чтения с экрана - я Я стремлюсь к тому, чтобы пользователи программ чтения с экрана получали оптимальные впечатления от используемых ими инструментов.
Например, если атрибут aria-live
не поддерживается, то реализация бесконечной прокрутки может быть плохой идеей.
Я знаю, что есть Дополнительное беспокойство вызывает то, что браузеры могут поддерживать эти атрибуты, а программа чтения с экрана - нет. Поскольку программы чтения с экрана прозрачно работают в браузерах, я не против, чтобы этот крайний случай игнорировался.
Я никогда не слышал, чтобы кто-то делал что-то подобное. Это так же просто, как тестирование дополнительных свойств DOM, предоставляемых браузерами? Работает ли здесь один из методов тестирования возможностей Марка Пилигрима?
Спасибо!
Сообщение и Категория глобализируются с помощью gem globalize3 class Post У меня есть эта схема: Сообщение принадлежит к категории и Category has_many Post.
Сообщение и Категория глобализируются с помощью gem globalize3 В моем PostsController я получаю все сообщения с этой строкой кода: Проблема в том, что у меня есть проблема с запросом n + 1 с таблицей переводов категорий: Как я могу решить эта проблема с запросом n + 1? class Post < ActiveRecord::Base
belongs_to :category
translates :title, :excerpt, :desc # globalize3
end
class Category < ActiveRecord::Base
has_many :posts
translates :name # globalize3
end
def index
@posts = Post.includes([:translations, {:category => :translations}])
end
Post Load (0.3ms) SELECT "posts".* FROM "posts"
Post::Translation Load (0.3ms) SELECT "post_translations".* FROM "post_translations" WHERE ("post_translations".post_id IN (2,3,4))
# START n+1 query block
Category Load (1.9ms) SELECT "categories".* FROM "categories" WHERE ("categories"."id" IN (9,12,11))
Category::Translation Load (0.4ms) SELECT "category_translations".* FROM "category_translations" WHERE ("category_translations".category_id = 9) AND ("category_translations"."locale" IN ('it'))
CACHE (0.0ms) SELECT "category_translations".* FROM "category_translations" WHERE ("category_translations".category_id = 9) AND ("category_translations"."locale" IN ('it'))
Category::Translation Load (0.2ms) SELECT "category_translations".* FROM "category_translations" WHERE ("category_translations".category_id = 12) AND ("category_translations"."locale" IN ('it'))
CACHE (0.0ms) SELECT "category_translations".* FROM "category_translations" WHERE ("category_translations".category_id = 12) AND ("category_translations"."locale" IN ('it'))
Category::Translation Load (0.2ms) SELECT "category_translations".* FROM "category_translations" WHERE ("category_translations".category_id = 11) AND ("category_translations"."locale" IN ('it'))
CACHE (0.0ms) SELECT "category_translations".* FROM "category_translations" WHERE ("category_translations".category_id = 11) AND ("category_translations"."locale" IN ('it'))
# END n+1 query block
Category::Translation Load (0.5ms) SELECT "category_translations".* FROM "category_translations" WHERE ("category_translations".category_id IN (9,12,11))