是否可以用aria-hidden="true"和嵌套元素aria-hidden="false"?
例如:
<div aria-hidden="true">
some hidden content
<div aria-hidden="false">
some visible content
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎不起作用.我使用NVDA及其功能对其进行了测试,以显示页面上的完整链接列表.如果我将咏叹调隐藏在身体上,即使我开始在某些子元素上将咏叹调隐藏为假,我也无法获得任何链接.目前看起来我无法覆盖子元素中的aria隐藏状态.
我知道这可能是一种非常不寻常的方法,但问题本身也很不寻常.一个巨大的灯箱,其中包含一个完整的站点(没有简单的模态对话框).
我目前正在开发一个小型控制台项目,它很大程度上依赖于最初传递的参数,我正在寻找一种在nodejs中处理配置对象的好方法.
我的项目目前完全使用以下示例,但我认为在使用'require'时我正在继续使用模块的缓存.
让我们假设一个模块options.js
'use strict';
var options = {
configName: '.jstail',
colorActive: (process.platform === 'win32') ? false : true, // deactivate color by default on windows platform
quiet: false,
debug: false,
config: null,
logFile: null,
setting: null
};
module.exports = options;
Run Code Online (Sandbox Code Playgroud)
我的初始模块init.js
#!/usr/bin/env node
'use strict';
var options = require('options'); // require above options module
// modify the options object based on args
Run Code Online (Sandbox Code Playgroud)
然后我有一个依赖于这个选项的记录器
例如,如果quiet设置为true,则不应进行日志记录
logger.js
'use strict';
var options = require('options');
/**
* prints to console if not explicitly …Run Code Online (Sandbox Code Playgroud) 我正在寻找一个可以在 Nodejs 或类似方式中使用的简单 pubsub 实现。我只需要在服务器端使用它,所以不需要花哨的 faye。
我希望拥有以下能力:
模块 A 发布事件“X”模块 B 订阅事件“X”而不知道有关模块 A 的任何信息(除了可能发送的参数之外)
我测试了这个简单的实现https://github.com/federico-lox/pubsub.js/blob/master/src/pubsub.js,它确实完成了它的工作
我目前在简单的 pubsub 实现中遇到的问题是我不能简单地订阅事件。
如果模块 A 发布了一个事件,但模块 B 没有任何地方需要,它将永远不会从模块 A 接收该事件。当模块 A 在发布事件之前需要模块 B 时,它当然可以工作。但这是相当不愉快的。
简而言之:我正在寻找一种与 Nodejs 完美搭配的设计模式,并允许我非常独立地(松散耦合)编写可以通过事件进行通信的模块。你们推荐什么方法?
我还查看了nodejs eventemitter,但找不到它的好用处(也许我只是看不到它?)
更新: 我进一步研究了 eventemitter 并得出了这个:
发射器.js
var events = require('events');
var emitter = new events.EventEmitter;
module.exports = emitter;
Run Code Online (Sandbox Code Playgroud)
moduleA.js
var emitter = require('./emitter.js');
require('./moduleB.js'); // this shows off my problem
emitter.emit('moduleA');
Run Code Online (Sandbox Code Playgroud)
moduleB.js
var emitter = require('./emitter.js');
emitter.on('moduleA', function () {
console.log('reacted to event from moduleA'); …Run Code Online (Sandbox Code Playgroud)