2017-03-08 35 views
2

我們目前正在爲沒有在HTML標籤上設置lang屬性的單頁應用程序提供初始索引頁。目前我們也沒有在頁面加載後動態設置它。在客戶端動態設置HTML lang屬性時是否有任何缺點?

是否有屏幕閱讀器的任何問題,如果語言是動態設置的,而不是已經將它設置初始頁面上?

+1

只是有一點要記住:據我所知搜索引擎可能會看'lang'屬性爲了服務他們符合其語言設置的內容。所以它可能會對SEO產生一些負面影響。但不知道。 – domsson

+0

重新搜索引擎:他們可能會做各種各樣的事情,但是沒有證據表明他們中的任何一個實際上都在關注lang屬性。谷歌已經明確表示他們會忽略它,部分原因是它經常是錯誤的,部分原因是它們可以從內容中推斷出語言。 –

回答

2

現代屏幕閱讀理解JavaScript和使用修改後的DOM代替初始DOM的的JavaScript。

只要你不改變lang屬性太晚了(在屏幕閱讀器後,已經開始說話),它應該工作。

注意切換語言可能會導致一些錯誤,如果你不改變也使用HTML5 API歷史的URL。

0

不,我不知道。 我們已經在已發佈的產品中完成了它。我們的情況是在contenteditables中獲得拼寫檢查的所需語言。所以我們動態地改變所有元素的lang屬性,並且它工作正常。

0

號前面的兩個答案都有了,但我的連接,我使用的客戶機/會談CodePen演示,所以您可以測試並確認自己:

http://codepen.io/aardrian/pen/eBOrZY

我切換main,但我也做它的html,你可以調整下面的代碼在筆這樣做:

function toggleLang(l) { 
    var m = document.querySelector('main'); 
    m.setAttribute('lang', l); 
} 
相關問題