@@ -338,38 +293,36 @@ constructor(props) {
}
}
```
-Điều này có thể hoạt động tốt cho người dùng với những thiết
-bị pointer, như chuột, nhưng thao tác nó với chỉ bàn phím sẽ khiến chức năng bị
-hư hỏng khi tab sang element tiếp theo
-`window` object không bao giờ nhận một sự kiện `click`. Điều
-này có thể dẫn tới chức năng bị vô nghĩa khiến user không thể sử dụng ứng dụng
-của bạn.
-

-
-Chúng ta cũng có thể đạt được chức năng tương tự bằng cách sử
-dụng những event handlers thích hợp, như `onBlur` và `onFocus`:
+
+Điều này có thể hoạt động tốt cho người dùng với những thiết bị pointer, như chuột, nhưng thao tác nó với chỉ bàn phím sẽ khiến chức năng bị hư hỏng khi tab sang element tiếp theo `window` object không bao giờ nhận một sự kiện `click`.. Điều này có thể dẫn tới chức năng bị vô nghĩa khiến user không thể sử dụng ứng dụng của bạn.
+
+

+
+Chúng ta cũng có thể đạt được chức năng tương tự bằng cách sử dụng những event handlers thích hợp, như `onBlur` và `onFocus`:
+
```javascript{19-29,31-34,37-38,40-41}
class BlurExample extends React.Component {
constructor(props) {
super(props);
+
this.state = { isOpen: false };
this.timeOutId = null;
+
this.onClickHandler = this.onClickHandler.bind(this);
this.onBlurHandler = this.onBlurHandler.bind(this);
this.onFocusHandler = this.onFocusHandler.bind(this);
}
+
onClickHandler() {
this.setState(currentState => ({
isOpen: !currentState.isOpen
}));
}
+
// Chúng ta đóng popover trong tick tiếp theo bằng setTimeout.
- // Điều này là cần thiết bởi vì chúng ta cần kiểm tra trước xem
+ // Điều này là cần thiết bởi vì chúng ta cần kiểm tra trước xem nếu
// con của element khác có nhận được focus như
- // blur event kích hoạt trước focus event mới
+ // blur event kích hoạt trước focus event mới.
onBlurHandler() {
this.timeOutId = setTimeout(() => {
this.setState({
@@ -377,10 +330,12 @@ class BlurExample extends React.Component {
});
});
}
+
// Nếu một component con nhận được focus, không được đóng popover.
onFocusHandler() {
clearTimeout(this.timeOutId);
}
+
render() {
// React hỗ trợ chúng ta bằng cách bubbling blur và
// những sự kiện focus vào component cha.
@@ -404,47 +359,37 @@ class BlurExample extends React.Component {
}
}
```
-Đoạn code cho thấy chức năng của cả con trỏ
-và bàn phím của người dùng. Cũng lưu ý rằng thêm thuộc tính `aria-*` vào để hỗ trợ
-người dùng. Đơn giãn hơn là để sự kiện bàn phím cho phép `arrow key` tương tác với
-tùy chọn popover chưa được implement.
+
+Đoạn code cho thấy chức năng của cả con trỏ và bàn phím của người dùng. Cũng lưu ý rằng thêm thuộc tính `aria-*` vào để hỗ trợ người dùng. Đơn giãn hơn là để sự kiện bàn phím cho phép `arrow key` tương tác với tùy chọn popover chưa được implement.

-Đây là một ví dụ điển hình khi chỉ
-phụ thuộc vào con trỏ và sự kiện từ chuột sẽ làm hỏng chức năng cho người dùng bàn phím. Luôn luôn
-test với bàn phím sẽ ngay lập tức phát hiện được những khu vực có vấn đề, sau đó
-có thể sửa bằng cách dùng những handler để nhận input từ bàn phím.
+Đây là một ví dụ điển hình khi chỉ phụ thuộc vào con trỏ và sự kiện từ chuột sẽ làm hỏng chức năng cho người dùng bàn phím. Luôn luôn test với bàn phím sẽ ngay lập tức phát hiện được những khu vực có vấn đề, sau đó có thể sửa bằng cách dùng những handler để nhận input từ bàn phím.
## Những Widgets phức tạp hơn {#more-complex-widgets}
-Trải nghiệm người dùng phức tạp không nên khiến mức độ accessibilty bị giảm đi.
-Trong khi đó accessibility dễ đạt được nhất bằng cách code sát với HTML nhất có thể,
-Ngay cả với widget phức tạp nhất.
+Trải nghiệm người dùng phức tạp không nên khiến mức độ accessibilty bị giảm đi. Trong khi đó accessibility dễ đạt được nhất bằng cách code sát với HTML nhất có thể, ngay cả với widget phức tạp nhất.
-Ở đây chúng ta cần kiến thức từ [ARIA Roles](https://www.w3.org/TR/wai-aria/#roles) cũng như [ARIA States and Properties](https://www.w3.org/TR/wai-aria/#states_and_properties). Đây là những công cụ có sẵn những thuộc tính HTML đã được hỗ trợ đầy đủ trong JSX và cho phép chúng ta xây dựng một trang web accessibility đầy đủ, những React component có chức năng cao cấp.
+Ở đây chúng ta cần kiến thức từ [ARIA Roles](https://www.w3.org/TR/wai-aria/#roles) cũng như [ARIA States and Properties](https://www.w3.org/TR/wai-aria/#states_and_properties).
+Đây là những công cụ có sẵn những thuộc tính HTML đã được hỗ trợ đầy đủ trong JSX và cho phép chúng ta xây dựng một trang web accessibility đầy đủ, những React component có chức năng cao cấp.
-Môi loại widget có một design pattern riêng và
-đáp ứng chức năng nhất định bởi người dùng như:
+Môi loại widget có một design pattern riêng và đáp ứng chức năng nhất định bởi người dùng như:
- [WAI-ARIA Authoring Practices - Design Patterns and Widgets](https://www.w3.org/TR/wai-aria-practices/#aria_ex)
-- [Heydon Pickering - ARIA Examples](https://heydonworks.com/practical_aria_examples/)
+- [Heydon Pickering - ARIA Examples](http://heydonworks.com/practical_aria_examples/)
- [Inclusive Components](https://inclusive-components.design/)
-## Những điểm khác cần lưu ý
-{#other-points-for-consideration}
+## Những điểm khác cần lưu ý {#other-points-for-consideration}
### Cài đặt ngôn ngữ {#setting-the-language}
-Biểu thị ngôn ngữ của những đoạn văn bản giúp
-phần mềm cài đặt đúng loại voice:
+Biểu thị ngôn ngữ của những đoạn văn bản giúp phần mềm cài đặt đúng loại voice:
-- [WebAIM - Document Language](https://webaim.org/techniques/screenreader/#language)
+- [WebAIM - Document Language](http://webaim.org/techniques/screenreader/#language)
### Cài đặt title cho document {#setting-the-document-title}
-Set `
` cho đoạn văn bản để mô tả nội dung của trang hiện tại,
-điều này giúp chắc chắn rằng người dùng nắm được nội dung mà họ đang đọc:
+Set `` cho đoạn văn bản để mô tả nội dung của trang hiện tại, điều này giúp chắc chắn rằng người dùng nắm được nội dung mà họ đang đọc:
- [WCAG - Understanding the Document Title Requirement](https://www.w3.org/TR/UNDERSTANDING-WCAG20/navigation-mechanisms-title.html)
@@ -452,110 +397,93 @@ Chúng ta có thể set nó trong React bằng cách sử dụng [React Document
### Độ tương phản màu sắc {#color-contrast}
-Hãy chắc chắn rằng tất cả đoạn text trong website của bạn có đủ
-độ tương phản màu sắc nhằm duy trì tối đa khả năng đọc của người dùng trong điều kiện thị lực kém:
+Hãy chắc chắn rằng tất cả đoạn text trong website của bạn có đủ độ tương phản màu sắc nhằm duy trì tối đa khả năng đọc của người dùng trong điều kiện thị lực kém:
-- [WCAG - Understanding the Color Contrast Requirement](https://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html)
-- [Everything About Color Contrast And Why You Should Rethink It](https://www.smashingmagazine.com/2014/10/color-contrast-tips-and-tools-for-accessibility/)
-- [A11yProject - What is Color Contrast](https://a11yproject.com/posts/what-is-color-contrast/)
+- [WCAG - Hiểu yêu cầu của độ tương phản màu sắc](https://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html)
+- [Tất cả mọi thứ về độ tương phản màu sắc và tại sao chúng ta phải suy nghĩ lại về nó](https://www.smashingmagazine.com/2014/10/color-contrast-tips-and-tools-for-accessibility/)
+- [A11yProject - Độ tương phản màu sắc là gì](http://a11yproject.com/posts/what-is-color-contrast/)
-Thật tẻ nhạt khi phải tính toán màu sắc thủ công cho tất cả trường hợp trong website của bạn,
-thay vào đó, bạn có thể [tính toán tất cả màu sắc bằng Colorable](https://jxnblk.com/colorable/).
+Thật tẻ nhạt khi phải tính toán màu sắc thủ công cho tất cả trường hợp trong website của bạn, thay vào đó, bạn có thể [tính toán tất cả màu sắc bằng Colorable](https://jxnblk.com/colorable/).
-Cả 2 công cụ aXe và WAVE được đề cập bên dưới đều bao gồm bộ tests kiểm tra độ tương phản màu sắc,
-chúng sẽ báo cáo những lỗi liên quan.
+Cả 2 công cụ aXe và WAVE được đề cập bên dưới đều bao gồm bộ tests kiểm tra độ tương phản màu sắc, chúng sẽ báo cáo những lỗi liên quan.
-Nếu bạn muốn mở rộng khả năng kiểm tra độ tương phản, bạn có thể
-sử dụng những công cụ dưới đây:
+Nếu bạn muốn mở rộng khả năng kiểm tra độ tương phản, bạn có thể sử dụng những công cụ dưới đây:
-- [WebAIM - Color Contrast Checker](https://webaim.org/resources/contrastchecker/)
-- [The Paciello Group - Color Contrast Analyzer](https://www.paciellogroup.com/resources/contrastanalyser/)
+- [WebAIM - Kiểm tra độ tương phản màu sắc](http://webaim.org/resources/contrastchecker/)
+- [The Paciello Group - Phân tích độ tương phản màu sắc](https://www.paciellogroup.com/resources/contrastanalyser/)
-## Development and Testing Tools {#development-and-testing-tools}
+## Các công cụ để phát triển và kiểm tra {#development-and-testing-tools}
-Có rất nhiều công cụ chúng ta có thể sử dụng để hỗ trợ
-trong việc tạo dựng accessibility của ứng dụng web.
+Có rất nhiều công cụ chúng ta có thể sử dụng để hỗ trợ trong việc tạo dựng accessibility của ứng dụng web.
-### The keyboard {#the-keyboard}
+### Bàn phím {#the-keyboard}
-Cho đến thời điểm hiện tại, cách dễ nhất và cũng là một trong những điều quan trọng nhất
-là kiểm tra toàn bộ trang web của bạn có thể tương tác và sử dụng được
-chỉ bằng bàn phím hay không. Chúng ta thực hiện điều này bằng cách:
+Cho đến thời điểm hiện tại, cách dễ nhất và cũng là một trong những điều quan trọng nhất là kiểm tra toàn bộ trang web của bạn có thể tương tác và sử dụng được chỉ bằng bàn phím hay không. Chúng ta thực hiện điều này bằng cách:
1. Tháo chuột của bạn ra khỏi máy tính.
2. Sử dụng `Tab` và `Shift+Tab` để duyệt web.
3. Sử dụng `Enter` để tương tác với những phần tử trong trang web.
4. Ở những nơi yêu cầu, sử dụng phím mũi tên để tương tác với một số phần tử, như menu và dropdown.
-### Development assistance {#development-assistance}
+### Sự hỗ trợ phát triển {#development-assistance}
+
+Chúng ta có thể kiểm tra một số chức năng accessibility trực tiếp trong code JSX. Thường thì bộ kiểm tra intellisense sẽ được cung cấp sẵn trong IDE cho những vai trò ARIA, states và properties. Chúng ta cũng có thể truy cập bằng những công cụ dưới đây:
-Chúng ta có thể kiểm tra một số chức năng accessibility trực tiếp trong code JSX.
-Thường thì bộ kiểm tra intellisense sẽ được cung cấp sẵn trong IDE cho những vai trò
-ARIA, states và properties. Chúng ta cũng có thể truy cập bằng những công cụ dưới đây:
#### eslint-plugin-jsx-a11y {#eslint-plugin-jsx-a11y}
-[eslint-plugin-jsx-a11y](https://github.com/evcohen/eslint-plugin-jsx-a11y)
-plugin cho ESLint cung cấp AST phản hồi AST về những vấn đề liên quan đến accessibility trong JSX của bạn. Nhiều IDE's cho phép bạn tích hợp trực tiếp vào code analysis và source code windows.
-[Create React App](https://github.com/facebookincubator/create-react-app) có plugin này
-với một tập hợp về những quy tắc kích hoạt. Nếu bạn muốn cho phép quy tắc accessibility hơn nữa,
-bạn có thể tạo một `.eslintrc` file trong root của project bằng nội dung sau đây:
+[eslint-plugin-jsx-a11y](https://github.com/evcohen/eslint-plugin-jsx-a11y) plugin cho ESLint cung cấp AST phản hồi AST về những vấn đề liên quan đến accessibility trong JSX của bạn. Nhiều IDE's cho phép bạn tích hợp trực tiếp vào code analysis và source code windows.
+
+[Create React App](https://github.com/facebookincubator/create-react-app) plugin này với một tập hợp về những quy tắc kích hoạt. Nếu bạn muốn cho phép quy tắc accessibility hơn nữa, bạn có thể tạo một `.eslintrc` file trong root của project bằng nội dung sau đây:
+
```json
{
- "extends": ["react-app", "plugin:jsx-a11y/recommended"],
- "plugins": ["jsx-a11y"]
+ "extends": ["react-app", "plugin:jsx-a11y/recommended"],
+ "plugins": ["jsx-a11y"]
}
```
### Kiểm tra accessibility trong trình duyệt {#testing-accessibility-in-the-browser}
-Một số công cụ có thể chạy audit accessibility tren trang
-web trong trình duyệt của bạn. Hãy dùng chúng phối hợp với những
-công cụ kiểm tra đã được nhắc tới ở đây, bởi vì chúng chỉ có thể kiểm tra accessibility về mặt kỹ thuật.
+Một số công cụ có thể chạy audit accessibility tren trang web trong trình duyệt của bạn. Hãy dùng chúng phối hợp với những công cụ kiểm tra đã được nhắc tới ở đây, bởi vì chúng chỉ có thể kiểm tra accessibility về mặt kỹ thuật.
#### aXe, aXe-core và react-axe {#axe-axe-core-and-react-axe}
-Hệ thống Deque cho phép [aXe-core](https://github.com/dequelabs/axe-core) tự động kiểm tra end-to-end
-ứng dụng của bạn. Module này bao gồm những sự tích hợp cho Selenium.
+Hệ thống Deque cho phép [aXe-core](https://github.com/dequelabs/axe-core) tự động kiểm tra end-to-end ứng dụng của bạn. Module này bao gồm những sự tích hợp cho Selenium.
-[The Accessibility Engine](https://www.deque.com/products/axe/) hoặc aXe, là một extension accessibility
-inspector tích hợp sẵn trong `aXe-core`.
+[The Accessibility Engine](https://www.deque.com/products/axe/) hoặc aXe, là một extension accessibility inspector tích hợp sẵn trong `aXe-core`.
+
+Bạn cũng có thể sử dụng [react-axe](https://github.com/dylanb/react-axe) module để report những phát hiện về accessibility trực tiếp khi đang develope và debug.
-Bạn cũng có thể sử dụng [react-axe](https://github.com/dylanb/react-axe)
-module để report những phát hiện về accessibility
-trực tiếp khi đang develope và debug.
#### WebAIM WAVE {#webaim-wave}
-[Web Accessibility Evaluation Tool](https://wave.webaim.org/extension/) là một extension khác
+[Web Accessibility Evaluation Tool](http://wave.webaim.org/extension/) là một extension khác.
+
+#### Accessibility inspectors và the Accessibility Tree {#accessibility-inspectors-and-the-accessibility-tree}
-#### Accessibility inspectors và Accessibility Tree {#accessibility-inspectors-and-the-accessibility-tree}
+[The Accessibility Tree](https://www.paciellogroup.com/blog/2015/01/the-browser-accessibility-tree/) là một tập hợp DOM trê có chứa những accessible object cho từng DOM element mà chúng nên được cung cấp cho công nghệ hiện đại như screen readers.
-[The Accessibility Tree](https://www.paciellogroup.com/blog/2015/01/the-browser-accessibility-tree/)
-là một tập hợp DOM trê có chứa những accessible object cho từng DOM
-element mà chúng
-nên được cung cấp cho công nghệ hiện đại như screen readers.
+Ở một số trình duyệt, chúng ta có thể dễ dàng xem thông tin về accessibility cho từng element trong accessibility tree:
-Ở một số trình duyệt, chúng ta có thể dễ dàng xem thông tin về accessibility
-cho từng element trong accessibility tree
-- [Using the Accessibility Inspector in Firefox](https://developer.mozilla.org/en-US/docs/Tools/Accessibility_inspector)
-- [Activate the Accessibility Inspector in Chrome](https://gist.github.com/marcysutton/0a42f815878c159517a55e6652e3b23a)
-- [Using the Accessibility Inspector in OS X Safari (https://developer.apple.com/library/content/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXTestingApps.html)
+- [Việc sử dụng Accessibility Inspector trong Firefox](https://developer.mozilla.org/en-US/docs/Tools/Accessibility_inspector)
+- [Kích hoạt Accessibility Inspector trong Chrome](https://gist.github.com/marcysutton/0a42f815878c159517a55e6652e3b23a)
+- [Việc sử dụng Accessibility Inspector trong OS X Safari](https://developer.apple.com/library/content/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXTestingApps.html)
### Screen readers {#screen-readers}
-Testing với một screen reader nên được xem như một phần của quá trình kiểm
-tra accessibility.
+Testing với một screen reader nên được xem như một phần của quá trình kiểm tra accessibility.
-Vui lòng lưu ý rằng sự kết hợp browser / screen reader
-là quan trọng. Bạn nên test ứng dụng của mình bằng trình duyệt phù hợp nhất
-cho screen reader của bạn.
+Vui lòng lưu ý rằng sự kết hợp browser / screen reader là quan trọng. Bạn nên test ứng dụng của mình bằng trình duyệt phù hợp nhất cho screen reader của bạn.
-### Screen Readers thông dụng {#commonly-used-screen-readers}
+### CScreen Readers thông dụng {#commonly-used-screen-readers}
#### NVDA trong Firefox {#nvda-in-firefox}
-[NonVisual Desktop Access](https://www.nvaccess.org/) hoặc NVDA là một Windows screen reader mã nguồn mở được sử dụng rộng rãi. Xem hướng dẫn bên dưới để biết cách dùng NVDA hiệu quả nhất:
-- [WebAIM - Using NVDA to Evaluate Web Accessibility](https://webaim.org/articles/nvda/)
-- [Deque - NVDA Keyboard Shortcuts](https://dequeuniversity.com/screenreaders/nvda-keyboard-shortcuts)
+[NonVisual Desktop Access](https://www.nvaccess.org/) hoặc NVDA là một Windows screen reader mã nguồn mở được sử dụng rộng rãi.
+
+Xem hướng dẫn bên dưới để biết cách dùng NVDA hiệu quả nhất:
+
+- [WebAIM - Sử dụng NVDA để đánh giá Web Accessibility](http://webaim.org/articles/nvda/)
+- [Deque - Các phím tắt của bàn phím NVDA](https://dequeuniversity.com/screenreaders/nvda-keyboard-shortcuts)
#### VoiceOver trong Safari {#voiceover-in-safari}
@@ -563,27 +491,26 @@ VoiceOver là một screen reader được tích hợp sẵn trong những thi
Xem hướng dẫn sau đây để biết cách kích hoạt và sử dụng Voice Over:
-- [WebAIM - Using VoiceOver to Evaluate Web Accessibility](https://webaim.org/articles/voiceover/)
-- [Deque - VoiceOver for OS X Keyboard Shortcuts](https://dequeuniversity.com/screenreaders/voiceover-keyboard-shortcuts)
-- [Deque - VoiceOver for iOS Shortcuts](https://dequeuniversity.com/screenreaders/voiceover-ios-shortcuts)
+- [WebAIM - Sử dụng VoiceOver để đánh giá Web Accessibility](http://webaim.org/articles/voiceover/)
+- [Deque - VoiceOver cho OS X Keyboard Shortcuts](https://dequeuniversity.com/screenreaders/voiceover-keyboard-shortcuts)
+- [Deque - VoiceOver cho iOS Shortcuts](https://dequeuniversity.com/screenreaders/voiceover-ios-shortcuts)
#### JAWS trong Internet Explorer {#jaws-in-internet-explorer}
-[Job Access With Speech](https://www.freedomscientific.com/Products/software/JAWS/)
-or JAWS, is a prolifically used screen reader on Windows.
+
+[Job Access With Speech](http://www.freedomscientific.com/Products/Blindness/JAWS) hoặc JAWS, là một screen reader được dùng hiệu quả trên Windows.
Xem hướng dẫn bên dưới để biết cách dùng JAWS hiệu quả nhất:
-- [WebAIM - Using JAWS to Evaluate Web Accessibility](https://webaim.org/articles/jaws/)
+- [WebAIM - Sử dụng JAWS để đánh giá Web Accessibility](http://webaim.org/articles/jaws/)
- [Deque - JAWS Keyboard Shortcuts](https://dequeuniversity.com/screenreaders/jaws-keyboard-shortcuts)
### Screen Readers khác {#other-screen-readers}
#### ChromeVox trong Google Chrome {#chromevox-in-google-chrome}
-[ChromeVox](https://www.chromevox.com/) là một screen reader được tích hợp sẵn trên Chromebooks và được [xem như một
-extension](https://chrome.google.com/webstore/detail/chromevox/kgejglhpjiefppelpmljglcjbhoiplfn?hl=en)
-cho Google Chrome.
+[ChromeVox](http://www.chromevox.com/) ilà một screen reader được tích hợp sẵn trên Chromebooks và được xem [như một extension](https://chrome.google.com/webstore/detail/chromevox/kgejglhpjiefppelpmljglcjbhoiplfn?hl=en) cho Google Chrome.
Xem hướng dẫn bên dưới để biết cách dùng ChromeVox hiệu quả nhất:
-- [Google Chromebook Help - Use the Built-in Screen Reader](https://support.google.com/chromebook/answer/7031755?hl=en)
-- [ChromeVox Classic Keyboard Shortcuts Reference](https://www.chromevox.com/keyboard_shortcuts.html)
+
+- [Google Chromebook Help - Sử dụng Built-in Screen Reader](https://support.google.com/chromebook/answer/7031755?hl=en)
+- [ChromeVox Classic Keyboard Shortcuts Reference](http://www.chromevox.com/keyboard_shortcuts.html)
\ No newline at end of file
diff --git a/content/docs/introducing-jsx.md b/content/docs/introducing-jsx.md
index a72d8ccb1..c0b252a04 100644
--- a/content/docs/introducing-jsx.md
+++ b/content/docs/introducing-jsx.md
@@ -70,11 +70,7 @@ ReactDOM.render(
[](codepen://introducing-jsx)
-<<<<<<< HEAD
-Chúng ta có thể tách JSX vào những tệp khác nhau cho dễ đọc. Việc này không bắt buộc, nhưng khi làm như vậy, chúng tôi cũng khuyến khích nhúng trong cặp dấu ngoặc để tránh rơi vào trường hợp JS Engines [tự thêm chấm phẩy](http://stackoverflow.com/q/2846283).
-=======
-We split JSX over multiple lines for readability. While it isn't required, when doing this, we also recommend wrapping it in parentheses to avoid the pitfalls of [automatic semicolon insertion](https://stackoverflow.com/q/2846283).
->>>>>>> bab2a3491a18e7074799272d60c8a159473bb7f5
+Chúng ta có thể tách JSX vào những tệp khác nhau cho dễ đọc. Việc này không bắt buộc, nhưng khi làm như vậy, chúng tôi cũng khuyến khích nhúng trong cặp dấu ngoặc để tránh rơi vào trường hợp JS Engines [tự thêm chấm phẩy](https://stackoverflow.com/q/2846283).
### JSX cũng là một biểu thức {#jsx-is-an-expression-too}
@@ -142,11 +138,7 @@ const title = response.potentiallyMaliciousInput;
const element = {title}
;
```
-<<<<<<< HEAD
-Mặc định, React DOM [loại bỏ những kí tự đặc biệt](http://stackoverflow.com/questions/7381974/which-characters-need-to-be-escaped-on-html) ở bên trong bất kì giá trị nào được nhúng vào JSX trước khi render chúng. Việc này đảm bảo không có giá trị xấu nào được vô tình được đưa vào ứng dụng. Mọi thứ đều được chuyển thành chuỗi trước khi được render. Việc này giúp ngăn chặn phương thức [tấn công XSS (cross-site-scripting)](https://en.wikipedia.org/wiki/Cross-site_scripting).
-=======
-By default, React DOM [escapes](https://stackoverflow.com/questions/7381974/which-characters-need-to-be-escaped-on-html) any values embedded in JSX before rendering them. Thus it ensures that you can never inject anything that's not explicitly written in your application. Everything is converted to a string before being rendered. This helps prevent [XSS (cross-site-scripting)](https://en.wikipedia.org/wiki/Cross-site_scripting) attacks.
->>>>>>> bab2a3491a18e7074799272d60c8a159473bb7f5
+Mặc định, React DOM [loại bỏ những kí tự đặc biệt](https://stackoverflow.com/questions/7381974/which-characters-need-to-be-escaped-on-html) ở bên trong bất kì giá trị nào được nhúng vào JSX trước khi render chúng. Việc này đảm bảo không có giá trị xấu nào được vô tình được đưa vào ứng dụng. Mọi thứ đều được chuyển thành chuỗi trước khi được render. Việc này giúp ngăn chặn phương thức [tấn công XSS (cross-site-scripting)](https://en.wikipedia.org/wiki/Cross-site_scripting).
### JSX là đối tượng {#jsx-represents-objects}
@@ -189,8 +181,4 @@ Chúng ta sẽ khám phá cách các React Element được render vào DOM th
>**Gợi ý:**
>
-<<<<<<< HEAD
->Chúng tôi khuyến khích sử dụng [Định nghĩa ngôn ngữ "Babel"](http://babeljs.io/docs/editors) cho trình soạn thảo của bạn như vậy cả mã ES6 và JSX đều có thể được tô sáng rõ ràng. Trang web này dùng tập màu [Oceanic Next](https://labs.voronianski.com/oceanic-next-color-scheme/) cái mà phù hợp cho việc này.
-=======
->We recommend using the ["Babel" language definition](https://babeljs.io/docs/editors) for your editor of choice so that both ES6 and JSX code is properly highlighted. This website uses the [Oceanic Next](https://labs.voronianski.com/oceanic-next-color-scheme/) color scheme which is compatible with it.
->>>>>>> bab2a3491a18e7074799272d60c8a159473bb7f5
+>Chúng tôi khuyến khích sử dụng [Định nghĩa ngôn ngữ "Babel"](https://babeljs.io/docs/editors) cho trình soạn thảo của bạn như vậy cả mã ES6 và JSX đều có thể được tô sáng rõ ràng. Trang web này dùng tập màu [Oceanic Next](https://labs.voronianski.com/oceanic-next-color-scheme/) cái mà phù hợp cho việc này.