Вот что-то простое, что выполнит задание:
key <- c('AA','AC','AG')
val <- c('0101','0102','0103')
lapply(1:3,FUN = function(i){foo[foo == key[i]] <<- val[i]})
foo
snp1 snp2 snp3
1 0101 0101 <NA>
2 0103 AT GG
3 0101 0103 GG
4 0101 0101 GC
lapply
выведет список в этом случае, которого мы действительно не заботимся. Вы можете присвоить результат чему-то, если хотите, а затем просто отбросить его. Я повторяю индексы здесь, но вы можете так же легко поместить ключ / vals в список и перебрать их непосредственно. Обратите внимание на использование глобального присвоения с помощью <<-
.
Я применил способ сделать это с помощью mapply
, но моя первая попытка не сработала, поэтому я переключился. Я подозреваю, что решение с mapply
возможно.
VoiceOver уже читает в порядке DOM. Если у вас есть aria-live
для элемента и вы обновляете этот элемент, вы говорите VoiceOver прочитать содержимое этого элемента. В этом весь смысл aria-live
.
Я предполагаю, что под «ползунком» вы подразумеваете нечто вроде карусели, а не что-то вроде:
<input type="range" min="1" max="100" value="50">
Когда карусель вращается в новом контенте, в зависимости от того, как он реализован , это может быть обновление DOM и запуск aria-live
. Тем не менее, большинство каруселей уже имеют все элементы и просто скрывают / скрывают их при просмотре. Отображение элемента не вызывает запуска области aria-live
.
Если у вас есть карусель, которая вращает контент автоматически, вам понадобится кнопка паузы, чтобы остановить карусель, иначе вы нарушите WCAG 2.2.2 Пауза, Стоп, Скрыть