jjzjj

accessibility

全部标签

javascript - react Hook : accessing state across functions without changing event handler function references

在基于类的React组件中,我执行如下操作:classSomeComponentextendsReact.Component{onChange(ev){this.setState({text:ev.currentValue.text});}transformText(){returnthis.state.text.toUpperCase();}render(){return();}}为了简化我的观点,这是一个人为的例子。我本质上想要做的是保持对onChange函数的持续引用。在上面的例子中,当React重新渲染我的组件时,如果输入值没有改变,它不会重新渲染输入。这里要注意的重要事项:t

javascript - 带有 Mailgun 的 AJAX 函数,获取 "ERROR Request header field Authorization is not allowed by Access-Control-Allow-Headers"

我正在努力进行AJAX调用,该调用会命中MailgunAPI以发送电子邮件。Mailgun上的文档说发布请求应该发送到“https://api.mailgun.net/v3/domain.com/messages”。我已经包含了mailgun指定的apikey(他们指示使用用户名“api”)。由于这涉及CORS,我无法克服错误:Access-Control-Allow-Headers不允许请求header字段授权。但是,我检查了“网络”选项卡中的请求/响应,并且Mailgun响应中的“Access-Control-Allow-Origin”设置为“*”...这应该表明它应该允许它?(请

【MYSQL8 已解决】Access denied for user ‘root‘@‘localhost‘ (using password: YES)问题

【Accessdeniedforuser‘root’@‘localhost’(usingpassword:YES)】**好像每次关机重启mysql8,用navicat连接本地mysql8都会出现这个问题,可我的密码也没错呀。于是我是这么解决的:1.首先关掉mysql命令可以使用netstopmysql也可以通过服务列表手动关闭2.打开管理员cmd命令窗口据我了解mysql8之前的是在my.ini文件中【mysqld】中加一句的mysql8的话是:在管理员打开的cmd进入到mysql的bin目录下输入mysqld--console--skip-grant-tables--shared-memor

javascript - cordova/angular/ionic 堆栈中的某些东西偷走了我的注意力

为了提供辅助功能,我需要在我的Cordova应用程序中进入屏幕时聚焦元素。通过一些技巧,我设法将焦点设置在一个元素上,但该元素会立即失去焦点(通过监听“模糊”事件验证)并且丢失发生在ApplesVoiceOver、AndroidsTalkback启动或用户可以接受之前任何Action。我已经尝试将焦点设置包装在$timeout内,以强制它在渲染完所有内容后发生,但这根本没有帮助。在我看来,Cordova中的某些东西,angular1或ionic会在其自身干扰m代码时产生一些令人讨厌的聚焦魔法。有没有人经历过类似的事情并找到了解决方法? 最佳答案

javascript - 为网页中的特定内容指定不同的声音

我试图找到有关编写盲人可以访问的网页的信息,但还没有找到太多有用的信息。具体来说,我正在寻找的是如何向一般屏幕阅读器提供有关如何阅读我的页面内容的具体说明。我知道覆盖屏幕阅读器的用户设置可能会被认为是一种烦恼,但我希望提供的内容是诗歌、戏剧、故事和其他类型的创意写作。由于同一份文档中经常有许多不同的Angular色在说话,如果我有一种方法可以指定屏幕阅读器声音的不同特征,以便让盲人(或任何人)有机会听到声音,那就太好了区分单独的说话字符。现在,我正在做的是用解说员告诉听众谁在说话,这是非常不自然和分散注意力的。内容示例可以是:Brenda:HeyJimmy!What'sup?Jimmy

javascript - 使用 aria-live 在 vue.js 中向屏幕阅读器发布信息

我正在尝试让一个vue组件在我的网站上发生不同事件时动态地向屏幕阅读器宣布信息。我让它工作到单击按钮将填充aria-live="assertive"和role="alert"文本的范围。这第一次工作得很好,但是,单击具有类似行为的其他按钮会导致NVDA在阅读新文本之前阅读以前的文本两次。这似乎发生在vue中,但使用jquery的类似设置却没有发生,所以我猜它与vue呈现给DOM的方式有关。我希望有某种方法可以解决此问题,或者可能有更好的方法将文本读给不会有此问题的用户。非常感谢任何帮助。Hereisasimplecomponent我在工作代码沙箱中设置以显示我遇到的问题(导航至comp

javascript - 如何判断浏览器是否在带有 JavaScript 的触摸屏设备上?

我知道这是一个老生常谈的问题,但我想知道访问我网站的设备是否是触摸屏。这当然意味着可以单独检测到的手机和iPad,还有可能运行Windows风格的其他触摸屏。是否有机会确定鼠标是否存在?假设我愿意使用像Modernizr这样的大型JavaScript库.这会有帮助吗? 最佳答案 您可能想查看MobileESP.不仅仅是触摸屏,但它至少为您提供了一些检测功能。从他们的页面:TheMobileESPprojectseekstoprovidewebsitedevelopersaneasy-to-useandlightweightAPIfo

javascript - ES6 继承 : uses `super` to access the properties of the parent class

Javascript的super关键字,当我在Chrome、Babel、TypeScript上运行代码时,我得到了不同的结果。我的问题是哪个结果是正确的?规范的哪一部分定义了这种行为?以下代码:classPoint{getX(){console.log(this.x);//C}}classColorPointextendsPoint{constructor(){super();this.x=2;super.x=3;console.log(this.x)//Aconsole.log(super.x)//B}m(){this.getX()}}constcp=newColorPoint();

javascript - Chrome : not "remembering" the choice to allow access to microphone

我有一个super简单的网页,它使用WebSpeechAPI这样我就可以更轻松地与我妈妈(她是聋子)交流。Google的语音识别速度足够快,我可以与她实时交谈(她会读取虚拟现实结果)。我的网站:http://goo.gl/Wm69Mp我们都在使用Chromev30.0.1599.66。我遇到的问题是,每次我点击麦克风图标时,Chrome都会询问我是否允许访问。我每次都点击“允许”。如果我查看我网站的Chrome媒体设置,我发现音频行为设置为“询问”,但我似乎无法将其更改为“允许”。有人知道这里发生了什么吗?更新看起来我可能必须启用https才能记住我的选择。如果可能的话,我仍然希望有人

javascript - Babel/Karma/Chai 给出 TypeError : 'caller' , 'callee' 和 'arguments' properties may not be accessed on strict mode functions

我无法弄清楚为什么这个测试没有通过。varexpect=require('chai').expect;describe('HelloComponent',function(){it('passesaquitesimpletest',function(){expect(1+4).to.equal(5);});});产生这个错误:DEBUG[web-server]:serving:/Users/ivan/dev/react-starter/node_modules/karma/static/context.htmlDEBUG[web-server]:serving(cached):/Use