小编Pla*_*wtf的帖子

嵌套的Aria隐藏

是否可以用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隐藏状态.

我知道这可能是一种非常不寻常的方法,但问题本身也很不寻常.一个巨大的灯箱,其中包含一个完整的站点(没有简单的模态对话框).

accessibility wai-aria

9
推荐指数
1
解决办法
3212
查看次数

node.js全局配置

我目前正在开发一个小型控制台项目,它很大程度上依赖于最初传递的参数,我正在寻找一种在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)

javascript node.js

5
推荐指数
1
解决办法
7627
查看次数

Nodejs 的 pubsub 设计模式

我正在寻找一个可以在 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)

javascript design-patterns node.js

2
推荐指数
1
解决办法
3786
查看次数